XML无法获取子节点的值:c#

时间:2010-06-19 19:13:14

标签: c# xml

我是XML的新手^ _ ^

<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("/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;
            }

由于

1 个答案:

答案 0 :(得分:5)

您需要选择<book>节点下的子节点:

XmlNodeList xnList = xDoc.SelectNodes("/a/book");

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

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