Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/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
C# 读取导致问题的XML节点_C#_Xml_Xml Parsing - Fatal编程技术网

C# 读取导致问题的XML节点

C# 读取导致问题的XML节点,c#,xml,xml-parsing,C#,Xml,Xml Parsing,我有一个XML字符串,我试图使用C#读取它,但我没有得到子节点。我将整个XML作为内部XML字符串。我无法读取节点。这是我的XML字符串和代码 <Filters FilterName="706337_test"> <MemberName>Dorvil</MemberName> <MemberId /> <ProviderName /> <ProviderId>706337</Provid

我有一个XML字符串,我试图使用C#读取它,但我没有得到子节点。我将整个XML作为内部XML字符串。我无法读取节点。这是我的XML字符串和代码

<Filters FilterName="706337_test">
    <MemberName>Dorvil</MemberName>
    <MemberId />
    <ProviderName />
    <ProviderId>706337</ProviderId>
    <SelectedProjects>5030003</SelectedProjects>
    <CNAChartSelected>false</CNAChartSelected>
    <OldProject>false</OldProject>
</Filters>

我只能看到一个子节点也进行筛选,我需要读取MemberId、MemberName等,如何读取它们?

这是因为SelectNodes中的字符串错误:

var xml = new XmlDocument();
xml.LoadXml(xmlstring);
var xnList1 = xml.SelectNodes("/Filters");      //list of 1 element
var xnList2 = xml.SelectNodes("/Filters/*");    //list of 7 elements
foreach (XmlNode node in xnList2)
{
    Console.WriteLine(node.OuterXml);
}
此外,您还可以使用:

var xElements = XElement.Parse(xmlstring).Elements();
foreach (var element in xElements)
{
    Console.WriteLine(element);
}

您需要告诉应用程序要读取哪些节点

XmlDocument xml = new XmlDocument();
                    xml.LoadXml(xmlstring);

                    XmlNodeList xnList = xml.SelectNodes("/Filters");
foreach (XmlNode node in xnList)
{    
    string memberName = node["MemberName"].InnerText;
}
这使应用程序知道如何读取MemberName节点中的内容。。对其他节点执行相同的操作,并发回结果。边调试边查看从每个节点获得的信息

XmlDocument xml = new XmlDocument();
                    xml.LoadXml(xmlstring);

                    XmlNodeList xnList = xml.SelectNodes("/Filters");
foreach (XmlNode node in xnList)
{    
    string memberName = node["MemberName"].InnerText;
}