这是我的XML文件的一个示例(稍微编辑,但你明白了):
<HostCollection>
<ApplicationInfo />
<Hosts>
<Host>
<Name>Test</Name>
<IP>192.168.1.1</IP>
</Host>
<Host>
<Name>Test</Name>
<IP>192.168.1.2</IP>
</Host>
</Hosts>
</HostCollection>
当我的应用程序(VB.NET应用程序)加载时,我想循环遍历主机及其属性列表并将它们添加到集合中。我希望我可以使用XPathNodeIterator。我在网上找到的例子看起来有些混乱,我希望这里有人可以清理一下。
答案 0 :(得分:1)
您可以将它们加载到XmlDocument中并使用XPath语句填充NodeList ...
Dim doc As XmlDocument = New XmlDocument()
doc.Load("hosts.xml")
Dim nodeList as XmlNodeList
nodeList = doc.SelectNodes("/HostCollectionInfo/Hosts/Host")
然后遍历节点
答案 1 :(得分:1)
XPathDocument xpathDoc;
using (StreamReader input = ...)
{
xpathDoc = new XPathDocument(input);
}
XPathNavigator nav = xpathDoc.CreateNavigator();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nav.NameTable);
XPathNodeIterator nodes = nav.Select("/HostCollection/Hosts/Host", nsmgr);
while (nodes.MoveNext())
{
// access the current Host with nodes.Current
}