Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何选择具有LINQ to XML中命名空间的XML节点_C#_Xml_Xml Namespaces - Fatal编程技术网

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

C# 如何选择具有LINQ to XML中命名空间的XML节点,c#,xml,xml-namespaces,C#,Xml,Xml Namespaces,我有一个以下格式的xml文档 <Abc xmlns="http://qusetons.com/Cdc/AbcSchema.xsd"> <xxx>False</xxx> <yyy>True</yyy> <sss>Pd</sss> </Abc> 现在,下面获取节点值的代码不起作用。我该怎么做才能得到这个代码 doc.XPathSelectElement("/Abc/xxx").value

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

<Abc xmlns="http://qusetons.com/Cdc/AbcSchema.xsd">
  <xxx>False</xxx>
  <yyy>True</yyy>
  <sss>Pd</sss>
</Abc>
现在,下面获取节点值的代码不起作用。我该怎么做才能得到这个代码

doc.XPathSelectElement("/Abc/xxx").value
试试这个

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);
试试这个

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);

真的,这是我期待的格式。但是在执行时,我得到了下面的错误“Namespace Manager或XsltContext needed”。非常好,它工作得很好。问题是我没有添加名称作为参数。还有一个问题是如何避免使用空白字符串的“/empty”这可以帮助您找到答案,这是我所期望的格式。但是在执行时,我得到了下面的错误“Namespace Manager或XsltContext needed”。非常好,它工作得很好。问题是我没有添加名称作为参数。还有一个问题是,我如何用空白字符串避免这个“/空”这可以帮助您找到答案
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);