我使用的是下面的文件結構簡單的XmlReader:問題在ASP.NET讀取XML文件
<application>
<nodetitle permission="perm1">Some Dept</nodetitle>
<project>Project A</project>
<links>
<link>
<pagename>page1.aspx</pagename>
</link>
<link>
<pagename permission="perm2">page2.aspx</pagename>
</link>
<link>
<pagename>page3.aspx</pagename>
</link>
</links>
</application>
我在XML API生鏽,我的問題是閱讀的兄弟<鏈接>元素在一次通過 - 我的本能是看看創建某種內部循環?
while (reader.Read())
{
...
if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "links"))
{
// read all <link> elements in a single pass
}
...
}
更新 - 2011年6月25日
我要去嘗試,併成爲一個更具體一點。我沒有使用XPath。使用XmlReader 或Linq to Xml(我完全不熟悉這個),我想要一種方法來提取鏈接元素和屬性並檢查它們的值。
屬性的擴展超出你有什麼不想任何理由只是使用xpath來選擇你想要的節點?使用XmlReader似乎更困難。 – rsbarro
我想不是,以前從未使用過。我希望能夠提取每個鏈接的所有信息(atts&values),然後繼續進行主while循環的下一次迭代 - 歡迎使用代碼示例:) – IrishChieftain
我看了一下Api並找到了讀取子樹的方法,方法是reader.ReadSubtree。它返回給你一個XmlReader對象的實例 –