更新時(shí)間:2022-10-20 09:06:45 來源:動力節(jié)點(diǎn) 瀏覽1770次
在處理 XML 文件之前,請從 XML 文件中刪除任何無關(guān)信息。特別是,刪除文件開頭的所有&字符和冗余行,例如版本和編碼聲明,例如
<?xml version="1.0" encoding="UTF-8"?>
還要檢查文件標(biāo)記的一致性。如果文件缺少根節(jié)點(diǎn),請通過將根節(jié)點(diǎn)連接到項(xiàng)目中文本的開頭和結(jié)尾來添加它。
您還可以從整個(gè)文檔中刪除所有 XML 命名空間屬性,以啟用對文檔的常規(guī)處理。加載 XML 文件后,使用Xml 文檔庫類型中的Remove XML Namespace函數(shù) 。這會去除所有xmlns屬性,例如:
<ram:ID xmlns:ram="http://www.ita.org/">103004</ram:ID>
變?yōu)?/p>
<ram:ID>103004</ram:ID>
本主題描述 XML 解析器的示例項(xiàng)目實(shí)現(xiàn)。Dealersample.txt源文件是一個(gè)文本文件,其源內(nèi)容從 XML 文件中提取。該文件沒有根節(jié)點(diǎn)。根節(jié)點(diǎn)將添加到項(xiàng)目中。
該文件有數(shù)千個(gè)<DEALER>條目,每個(gè)條目都有一系列標(biāo)記信息,包括以下字段:
DLR_CODE
姓名
添加1
添加2
添加3
城市
省
郵政
電話
傳真
例如:
<DEALER><DLR_CODE>02400</DLR_CODE><NAME>MOTOROLA TORONTO (CUST)</NAME><ADD1>布魯內(nèi)爾路 150 號</ADD1><ADD2> </ADD2><ADD3> </ADD3><CITY>密西沙加</CITY><PROVINCE>ON</PROVINCE><POSTAL>L4Z1T5</POSTAL><PHONE>4165551212</PHONE><FAX>0 </FAX></DEALER>
您需要創(chuàng)建存儲 XML 數(shù)據(jù)所需的基本業(yè)務(wù)實(shí)體。
創(chuàng)建基本 XML 業(yè)務(wù)實(shí)體:
1.在Business Entities選項(xiàng)卡的Types選項(xiàng)卡中的User Types下,添加具有以下文本屬性的Dealer類型: ADD1、ADD2、CITY、DLR_CODE、FAX、Name、PHONE、POSTAL和PROPERTIES。
2.在User Types下,添加一個(gè)XML Parser類型。
3.在XML Parser下,添加一個(gè)XML Text屬性,并將Property Type 設(shè)置為Text。
4.添加一個(gè)XML Document類型,將Base 類型設(shè)置為Xml Document。
您需要創(chuàng)建一個(gè)函數(shù),將文本文件讀入XML Text屬性,將<Root>標(biāo)記連接到 XML Text 的開頭,將</Root>標(biāo)記連接到XML Text的結(jié)尾,然后加載Xml 文檔。
創(chuàng)建 XML 加載函數(shù):
1.將<path>dealersample.txt復(fù)制到您的計(jì)算機(jī),例如,復(fù)制到 c:\temp。
2.在XML Parse r 下,添加一個(gè)Init函數(shù)。通過插入以下說明來執(zhí)行此操作:
將 Dealersample.txt 中的讀取文本分配到XML 文本中
加載 Xml 文檔(連接 [ <Root>XML Text <Root><Add Text...>])
3.確保<path>將替換為Dealersample.txt文件的路徑。在示例文件中,這是 C:\
您需要創(chuàng)建一個(gè)函數(shù),對于每個(gè)內(nèi)部節(jié)點(diǎn)(在父節(jié)點(diǎn)的所有子節(jié)點(diǎn)中),如果內(nèi)部節(jié)點(diǎn)的名稱等于標(biāo)簽,則返回內(nèi)部節(jié)點(diǎn)的內(nèi)部文本。
創(chuàng)建 XML 查詢函數(shù):
1.在XML Parser下,添加一個(gè)GetTagValue函數(shù)。
2.添加兩個(gè)參數(shù): Type 設(shè)置為 Xml Node 的ParentNode,Type 設(shè)置為 Text 的 Tag。
3.插入以下功能說明:
對于獲取 ParentNode 的子節(jié)點(diǎn)中的每個(gè) Xmls 節(jié)點(diǎn) AKA innerNode
{
如果內(nèi)部節(jié)點(diǎn)的名稱等于(忽略大小寫)標(biāo)記
{
返回獲取innerNode的InnerText
}
別的
{
}
}
未找到退貨
您需要創(chuàng)建用于解析 XML 文件的各種業(yè)務(wù)實(shí)體。
要創(chuàng)建 XML 解析業(yè)務(wù)實(shí)體和實(shí)例:
1.在XML Parser下,添加一個(gè)TmpNodes列表,將Property Type設(shè)置為List of Xml Node。
2.添加一個(gè)RootNode類型,將Base 類型設(shè)置為Xml Node。
3.添加一個(gè)number屬性,將Property Type設(shè)置為Number。
4.添加一個(gè)Nodes列表,將Property Type設(shè)置為List of Xml Node。
5.添加一個(gè)Names列表,將Property Type設(shè)置為List of Text。
6.添加Dealers和XML Parser的實(shí)例。
您需要添加一個(gè)函數(shù),在所需聲明之后,將Xml 文檔的第一個(gè)子節(jié)點(diǎn)分配給Xml 節(jié)點(diǎn),并將RootNode的子節(jié)點(diǎn)分配給Nodes。然后,它創(chuàng)建經(jīng)銷商業(yè)務(wù)實(shí)體并使用GetTagValue函數(shù)對其進(jìn)行填充,以提取每個(gè)所需節(jié)點(diǎn)的所需信息。
要提取 XML 數(shù)據(jù):
在Types選項(xiàng)卡的XML Parser下,添加Get Dealers函數(shù)。通過插入以下說明來執(zhí)行此操作:
聲明經(jīng)銷商類型經(jīng)銷商
聲明Xml 節(jié)點(diǎn)類型列表的listnodes
聲明類型為Xml 節(jié)點(diǎn)的tmpNode
將Get First Child 的 Xml 文檔分配到RootNode
將 [ ( Get Child Nodes of RootNode )<Add Xml Node...> ] 分配到節(jié)點(diǎn)中
對于節(jié)點(diǎn)中的每個(gè) Xml 節(jié)點(diǎn) AKA節(jié)點(diǎn)
{
將創(chuàng)建業(yè)務(wù)實(shí)體分配給經(jīng)銷商
將XML Parser 節(jié)點(diǎn)的 GetTagValue、DLR CODE賦值給經(jīng)銷商的 DLR CODE
將XML Parser 節(jié)點(diǎn)的 GetTagValue、NAME分配給經(jīng)銷商的名稱
將XML Parser 節(jié)點(diǎn)的 GetTagValue 、ADD1分配給經(jīng)銷商的 ADD1
將XML Parser 節(jié)點(diǎn)的 GetTagValue、ADD2分配給經(jīng)銷商的 ADD2
將XML Parser 節(jié)點(diǎn)、CITY的GetTagValue分配給經(jīng)銷商的 CITY
將XML Parser 節(jié)點(diǎn)的 GetTagValue、PHONE分配給經(jīng)銷商的 PHONE
將XML Parser 節(jié)點(diǎn)、PROVINCE的GetTagValue分配給經(jīng)銷商的 PROVINCE
將XML Parser 節(jié)點(diǎn)的 GetTagValue 、 POSTAL分配給經(jīng)銷商的POSTAL
將XML Parser 節(jié)點(diǎn)的GetTagValue分配給經(jīng)銷商的FAX
將經(jīng)銷商添加到經(jīng)銷商
}
??????
您需要創(chuàng)建標(biāo)注、編譯項(xiàng)目并運(yùn)行監(jiān)視器來測試項(xiàng)目。
創(chuàng)建標(biāo)注和測試項(xiàng)目:
1.在演示選項(xiàng)卡的標(biāo)注選項(xiàng)卡中,添加快速標(biāo)注。
2.右鍵單擊標(biāo)注并選擇插入 > 操作鏈接。
3.輸入Init作為操作名稱并插入以下指令:
XML解析器的初始化
4.同樣,添加一個(gè)名為Get Names的標(biāo)注,該標(biāo)注鏈接到Get Dealers of XML Parser。
5.確保實(shí)時(shí)客戶端進(jìn)程 ( RTClient.exe )未運(yùn)行。
6.要生成主項(xiàng)目,請單擊功能區(qū)上的生成主項(xiàng)目。或者,要生成活動項(xiàng)目,請單擊生成主項(xiàng)目并從下拉列表中選擇生成活動項(xiàng)目。
7.驗(yàn)證項(xiàng)目編譯沒有錯(cuò)誤。
8.單擊運(yùn)行實(shí)時(shí)客戶端。應(yīng)用程序運(yùn)行。
9.單擊快速。
10.單擊初始化。這將運(yùn)行Init函數(shù)并讀取文件。
11.單擊獲取名稱。這會處理文件內(nèi)容。
12.單擊功能區(qū)上的監(jiān)視器。
13.選擇經(jīng)銷商。出現(xiàn)從 XML 文件中提取的經(jīng)銷商列表。
初級 202925
初級 203221
初級 202629
初級 203743