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

时间:2013-12-12 04:57:32

标签: c# xml xml-namespaces

我有一个xml文档,格式如下。

<Abc xmlns="http://qusetons.com/Cdc/AbcSchema.xsd">
  <xxx>False</xxx>
  <yyy>True</yyy>
  <sss>Pd</sss>
</Abc>

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

 var doc= XDocument.Load(fullfilepath);

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

doc.XPathSelectElement("/Abc/xxx").value

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

doc.Elements(XName.Get("xxx"));