读取导致问题的XML节点
本文关键字:XML 节点 问题 读取 | 更新日期: 2023-09-27 18:27:30
我有一个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>
试图读取XML节点的C#代码
XmlDocument xml = new XmlDocument();
xml.LoadXml(xmlstring);
XmlNodeList xnList = xml.SelectNodes("/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节点内部的内容。。对其他节点执行同样的操作,并返回结果。边调试边查看每个节点的结果。