簡體   English   中英

讀取導致問題的XML節點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM