Re: [問題] XML Parsing多筆資料的問題

看板C_Sharp作者 (不放過自己)時間14年前 (2009/08/28 14:22), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
以你原文提到的XML格式可能要採取循序方式才好處理了 但如果你能把它reformat成新的樣子, 就可以用XPath去做了, 例如: <items> <item> <id pid="1"/> <name>Cup</name> <price>35.0</price> </item> <item> <id pid="2"/> <name>Glass</name> <price>60.0</price> </item> <item> <id pid="3"/> <name>Plate</name> <price>120.0</price> </item> </items> 如果這類資料很頻繁使用到,我會寫個簡單的reformat程式,先轉換過, 這樣方便其他程式處理資料且其他程式也會比較好設計 原本的問題你應該本來就會解決了, 猜想你只是想程式碼寫得更好一些, 有時把資料先整理成方便處理的方式, 不失為一個好方式 ※ 引述《quarry (Man)》之銘言: : 小弟目前在處理一份XML文件 : 格式如下 : <item> : <id pid="1"/> : <name>Cup</name> : <price>35.0</price> : <id pid="2"/> : <name>Glass</name> : <price>60.0</price> : <id pid="3"/> : <name>Plate</name> : <price>120.0</price> : </item> : 希望能將產品資訊輸入到資料表中 : 資料表PRODUCT的schema如下 : PRODUCT : --------------------------- : ID | NAME | PRICE : --------------------------- : 有想過以XmlDocument利用XPath : 分別以/item/id、/item/name及/item/price將三種資料取出 : 但用這種方法取出的資訊會分成三個group : 變成/item/id是 1, 2, 3 : /item/name是Cup, Glass, Plate : 而/item/price是35.0, 60.0, 120.0 : 我是希望能按次序地取出 : 像是取出 : 1, Cup, 35.0 : 2, Glass, 60.0 : 3, Plate, 120.0 : 如此就可直接用SQL語法將資料存到資料表中 : 不知道這樣的取法用XmlDocument、XQuery或XPath可以達成嗎 : 還是一定要用XmlTextReader才行呢? : 謝謝! -- 對於已經無法擁有的 唯一能做的是 不要忘記 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.251.180 ※ 編輯: petrushka 來自: 140.125.251.180 (08/28 14:28)

08/28 15:09, , 1F
謝謝您的解說,但想請問一下,若是reformat之後,XPath應
08/28 15:09, 1F

08/28 15:10, , 2F
該如何下呢? /items/item/[@id=n], n=1,2,3...這樣子取嗎
08/28 15:10, 2F
文章代碼(AID): #1AbtULuV (C_Sharp)
文章代碼(AID): #1AbtULuV (C_Sharp)