[英]Reading XML nodes causing issues
我有一個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節點內的內容。對其他節點執行相同的操作,然后回發結果。 邊走邊進行調試,以查看從每個節點獲得的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.