Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
.net 如何读取xml节点值_.net_C# 4.0 - Fatal编程技术网

.net 如何读取xml节点值

.net 如何读取xml节点值,.net,c#-4.0,.net,C# 4.0,我有一个xml文件,正在努力读取c中的值“我的名字”# 有人能帮忙吗 <?xml version="1.0" encoding="UTF-8" ?> <doc:SomeReport xsi:schemaLocation="urn:tes:doc:Fsur.0.97 C:\Documents%20and%20Settings\rty0403\Desktop\Smaple%20Sampling%20Schemas\Testdoc.doc.0.97.xsd" xmlns:xsi="

我有一个xml文件,正在努力读取c中的值“我的名字”# 有人能帮忙吗

<?xml version="1.0" encoding="UTF-8" ?> 
<doc:SomeReport xsi:schemaLocation="urn:tes:doc:Fsur.0.97 C:\Documents%20and%20Settings\rty0403\Desktop\Smaple%20Sampling%20Schemas\Testdoc.doc.0.97.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bie3="urn:tes:data:CommonAggregates:0.97" xmlns:bie1="urn:tes:data:SampleAggregates:0.97" xmlns:doc="urn:tes:doc:Fsur.0.97">
  <doc:family>
    <doc:first>my name</doc:first> 
  </doc:family>
</doc:SomeReport>

我的名字

最可能的情况是,您在尝试选择节点之前忘记定义名称空间

有关更多信息,请参阅或。

您可以使用以下方法:


这里有一种方法:

XElement xml = XElement.Load(fileName); // load the desired xml file
XNamespace aw = "urn:tes:doc:Fsur.0.97"; // this is the namespace in your xml

var firstName = xml.Element(aw + "family").Element(aw + "first").Value;

这将只获取一个类型为family的元素和一个类型为first的元素。

您如何读取该值?给你一个代码示例好吗?给你,匹配不会带来任何东西。XmlDocument xdoc=新的XmlDocument();加载(文件);XmlNodeList matches=xdoc.SelectNodes(//第一);请使用您拥有的任何其他信息更新您的问题。如何传递文件名而不是文本?@melspring:
XElement xml=XElement.Load(filepath)谢谢Darin,很好用!!,只是想知道使用XDocument和下面的XmlDocument xdoc=new XmlDocument()之间有什么区别;加载(文件);XmlNamespaceManager man=新的XmlNamespaceManager(xdoc.NameTable);AddNamespace(“doc”,“urn:tes:doc:Fsur.0.97”);XmlNodeList matches=xdoc.SelectNodes(//doc:first),man);
XElement xml = XElement.Load(fileName); // load the desired xml file
XNamespace aw = "urn:tes:doc:Fsur.0.97"; // this is the namespace in your xml

var firstName = xml.Element(aw + "family").Element(aw + "first").Value;