如何在LINQ to XML中选择具有命名空间的XML节点

use*_*127 1 c# xml xml-namespaces

我有一个以下格式的xml文档.

<Abc xmlns="http://qusetons.com/Cdc/AbcSchema.xsd">
  <xxx>False</xxx>
  <yyy>True</yyy>
  <sss>Pd</sss>
</Abc>
Run Code Online (Sandbox Code Playgroud)

我正在使用XDocument类来解析此文档

 var doc= XDocument.Load(fullfilepath);
Run Code Online (Sandbox Code Playgroud)

现在下面的代码来获取节点的值不起作用.我应该怎么做才能得到这个代码?

doc.XPathSelectElement("/Abc/xxx").value
Run Code Online (Sandbox Code Playgroud)

小智 6

试试这个吧

var doc = XDocument.Parse(data);  
var names = new XmlNamespaceManager(new NameTable());
names.AddNamespace("emtpy", "http://qusetons.com/Cdc/AbcSchema.xsd");
Console.WriteLine(doc.XPathSelectElement("/emtpy:Abc/emtpy:xxx", names).Value);
Run Code Online (Sandbox Code Playgroud)