无法使用Xdocument.Element获取XML节点



这是一个示例xml,其中我想获取xml节点。

XDocument doc = XDocument.Load("PurchaseOrder.xml");
<Rootelement>
    <element1 />
    <element2 />
    <element2 />
    <element3 />
</Rootelement>

我想从xml

中找出元素2

这是我的代码段。

var xElement = XDoc.Element("Rootelement").Element("element2");

,但我显示为null。我在XML中没有任何名称空间,也不能包括一个。

请帮助。

尝试这样;

var xElement = doc.Root.Element("element2");

如果您想在文档中的任何地方找到元素使用;

doc.Descendants("element2")
 XmlDocument xml = new XmlDocument();
    xml.LoadXml(myXmlString);
    XmlNodeList xnList = xml.SelectNodes("/Names/Name");
    foreach (XmlNode xn in xnList)
    {
      string firstName = xn["FirstName"].InnerText;
      string lastName = xn["LastName"].InnerText;
      Console.WriteLine("Name: {0} {1}", firstName, lastName);
    }

此代码将返回标签<firstName><LastName>的所有值。如果您只需要一个值,则可以删除foreach循环,然后您就可以了。

这是XML代码

<Names>
    <Name>
        <FirstName>John</FirstName>
        <LastName>Smith</LastName>
    </Name>
    <Name>
        <FirstName>James</FirstName>
        <LastName>White</LastName>
    </Name>
</Names>

最新更新