如何获得XML节点的价值?

时间:2018-08-22 21:36:53

标签: c# .net xml linq-to-xml

我一生无法从该XML文档中提取SourcePartyName

<ns0:Visit xmlns:ns0="http://Co.Burgers.Ues">
<ns0:SourcePartyName>NDHARY</ns0:SourcePartyName>
</ns0:Visit>

使用Scott的solution,我已经能够提取名称空间信息。但是,经过数十次尝试XDocument / XElement的尝试之后,我仍然无法获得所需的NDHARY值。

尝试包括:

xdoc.Descendants(ns + "SourcePartyName").FirstOrDefault()?.Value;

xdoc.Element(ns + "SourcePartyName").Value;

如何从XDocument获取节点的值?

1 个答案:

答案 0 :(得分:1)

使用XDocument时,必须通过其 Root 属性。

String xml = @"
    <ns0:Visit xmlns:ns0=""http://Co.Burgers.Ues"">
        <ns0:SourcePartyName>NDHARY</ns0:SourcePartyName>
    </ns0:Visit>
    ";
XDocument xdoc = XDocument.Parse(xml);
XNamespace ns = "http://Co.Burgers.Ues";
String sourcePartyName = (String)xdoc.Root.Element(ns + "SourcePartyName");