[英]Get multiple from Xmldocument
我查詢並從另一個來源獲取此信息
<queryResult xmlns="http://apiblah">
<template>
<entity name="Nodes" type="apiblah" dynamic="False">
<property name="NodeID" type="Int32" />
</entity>
</template>
<data>
<Nodes>
<NodeID>823</NodeID>
</Nodes>
<Nodes>
<NodeID>825</NodeID>
</Nodes>
<Nodes>
<NodeID>826</NodeID>
</Nodes>
<Nodes>
<NodeID>839</NodeID>
</Nodes>
<Nodes>
<NodeID>935</NodeID>
</Nodes>
</data>
</queryResult>
我試圖從這種XML中提取所有的nodeID,但我無法將它們全部放入數組中。
每當我嘗試通過時,我只會獲得第一個NodeID
var nodeID = result.XPathSelectElement("//*[local-name()='NodeID']").Value; is what works for the first nodeid
關於如何將所有這些作為數組的任何建議? 多個NodeID標記使我的代碼無效
如果能夠切換到XDocument(System.Linq.Xml),則可以執行以下操作:
string xml = @"<queryResult xmlns=""http://apiblah"">
<template>
<entity name=""Nodes"" type=""apiblah"" dynamic=""False"">
<property name=""NodeID"" type=""Int32"" />
</entity>
</template>
<data>
<Nodes>
<NodeID>823</NodeID>
</Nodes>
<Nodes>
<NodeID>825</NodeID>
</Nodes>
<Nodes>
<NodeID>826</NodeID>
</Nodes>
<Nodes>
<NodeID>839</NodeID>
</Nodes>
<Nodes>
<NodeID>935</NodeID>
</Nodes>
</data>
</queryResult>";
XDocument doc = XDocument.Parse(xml);
XNamespace ns = "http://apiblah";
var nodeids = doc.Descendants().Elements(ns + "NodeID");
foreach (var element in nodeids)
{
Console.WriteLine(element.Value);
}
產量:
823
825
826
839
935
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.