Re: [問題] XML Parsing多筆資料的問題
好吧, 如果你reformat過了,
就提供一個最簡單的取值範例吧...
XmlDocument xmlDoc = new XmlDocument();
.......(略, 載入Xml內容...)
XmlNodeList itemNodeList = xmlDoc.SelectNodes( "/items/item" );
foreach( XmlNode itemNode in itemNodeList )
{
string itemId = itemNode.SelectSingleNode( "./id/@pid" ).Value;
string itemName = itemNode.SelectSingleNode( "./name" ).InnerText;
string itemPrice = itemNode.SelectSingleNode( "./price" ).InnerText;
// 或是用以下註解的方法,但不建議。因為必須要求Child Node按固定次序。
//string itemId = itemNode.ChildNodes[ 0 ].Attributes[ "pid" ].Value;
//string itemName = itemNode.ChildNodes[ 1 ].InnerText;
//string itemPrice = itemNode.ChildNodes[ 2 ].InnerText;
........(略)
}
你可以寫一個Factory Method及寫一個Item Class,
然後把上面的Code改得更OO的感覺, 然後去做操作...
或是就直接操作了, 之後再去重構...
端看你的需求...
又若你只是想依特定pid, 然後直接從Xml內容中找出特定Item,
那麼你就是透過SelectSingleNode加上對應的XPath指示去找出Node吧~
又若你只是單純想要產生新的結果輸出, 也不喜歡上述寫程式的方式...
那你可以寫個更簡短的程式去套XSL, 然後直接產生你要的結果輸出...
--
對於已經無法擁有的
唯一能做的是
不要忘記
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.251.180
※ 編輯: petrushka 來自: 140.125.251.180 (08/28 17:09)
※ 編輯: petrushka 來自: 140.125.251.180 (08/28 17:13)
推
09/02 07:43, , 1F
09/02 07:43, 1F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):