我有下面的XML,如下圖所示,選擇子元素:XML如何使用XPath
但我不能爲我的生命,讓任何代碼選擇在<ArrayOfHouse>
之間的房子元素。
將有一個以上的House
元素一旦我設法得到它選擇一個,這裏是到目前爲止我的代碼:
// Parse the data as an XML document
XDocument xmlHouseResults = XDocument.Parse(houseSearchResult);
// Select the House elements
XPathNavigator houseNavigator = xmlHouseResults.CreateNavigator();
XPathNodeIterator nodeIter = houseNavigator.Select("/ArrayOfHouse/House");
// Loop through the selected nodes
while (nodeIter.MoveNext())
{
// Show the House id, as taken from the XML document
MessageBox.Show(nodeIter.Current.SelectSingleNode("house_id").ToString());
}
我得到XML流,因爲我已經管理在上面顯示的MessageBox中顯示數據,但我無法到達各個房屋。
爲什麼不使用XML序列化?由於這種XML顯然是通過XML序列化生成的,所以它可能是最自然的解決方案... – 2012-02-03 12:50:55
查看使用[XPath Visualizer](http://xpathvisualizer.codeplex.com/)來測試XML上的XPath查詢。 – Lukazoid 2012-02-03 13:01:54