2010-06-19 57 views
3

我在XML新手^ _^XML無法獲取子節點的值:C#

<a> 
<book> 
    <c> 
     <e>Val1</e> 
    </c> 
    <d>val2</d> 
</book> 
<book> 
    <c> 
     <e>Val3</e> 
    </c> 
    <d>val4</d> 
</book> 

的問題是我需要得到每本書 內在價值首先我使用

XmlNodeList xnList = xDoc.SelectNodes("https://stackoverflow.com/a/book"); 

問題是節點「C」有子「E」,所以我不能得到它的價值就像我直接從節點「d」

foreach (XmlNode xn in xnList) 
      { 
       string Name = xn["e"].InnerText; // Can't get its value 
       string Detail = xn["d"].InnerText; 
      } 
0獲得

感謝

+0

這不是很明顯,你正在試圖做...你不知道的「C」元素做什麼?你爲什麼不經歷這個? – 2010-06-19 19:21:12

+0

可能你應該使用FirstChild屬性 – 2010-06-19 19:21:12

回答

5

您需要選擇<book>節點下的子節點:

XmlNodeList xnList = xDoc.SelectNodes("https://stackoverflow.com/a/book"); 

foreach (XmlNode xn in xnList) 
{ 
    XmlNode eNode = xn.SelectSingleNode("c/e"); 

    if(eNode != null) 
    { 
     string Name = eNode.InnerText; 
    } 
}