繁体   English   中英

无法使用XDocument.Element获取xml节点

[英]Unable to fetch xml node using XDocument.Element

这是我要获取xml节点的XML示例。

XDocument doc = XDocument.Load("PurchaseOrder.xml");

<Rootelement>
    <element1 />
    <element2 />
    <element2 />
    <element3 />
</Rootelement>

我想从xml中找出element2

这是我的代码段。

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

但我显示为空。 我在xml中没有任何名称空间,并且不能包含一个名称空间。

请帮忙。

 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>

这样尝试;

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

如果要在文档中的任何位置查找元素,请使用;

doc.Descendants("element2")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM