2013-08-17 272 views
2

我在用C#程序讀取XML文件時遇到了問題。當我嘗試運行它時,出現錯誤,提示 「System.Xml.dll中發生類型爲」System.Xml.XPath.XPathException「的未處理異常用C#讀取XML文件

附加信息:表達式必須計算爲節點集「。

XML代碼:

<musicstore> 
<album> 
    <name>Black Album</name> 
    <artist>Metallica</artist> 
    <year>1991</year> 
    <price>$10.00</price> 
</album> 

<album> 
    <name>Exodus</name> 
    <artist>Bob Marley</artist> 
    <year>1979</year> 
    <price>$5.99</price> 
</album> 

</musicstore> 

C#代碼:

XmlDocument xDoc = new XmlDocument(); 
xDoc.Load("C:\\Users\\FJam\\Desktop\\Coding\\XML\\text.xml"); 

foreach(XmlNode node in xDoc.SelectNodes("musicstore/album/")) 
{ 
    MessageBox.Show(node.SelectSingleNode("artist").InnerText); 
}     
+4

刪除'musicstore/album /'上的最後一個'/' –

回答

7

所有你需要的是

foreach (XmlNode node in xDoc.SelectNodes("musicstore/album")) 

問題是與最後一個/