XPathNodeIterator를 사용하여 XML 파일의 항목 목록을 반복하는 방법은 무엇입니까?


0

이 샘플입니다 (약간 편집 할 수 있지만 당신은 아이디어를 얻을) 내 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를 사용할 수 있기를 바랬다. 내가 온라인에서 찾은 사례는 조금 혼란스러워 보였습니다. 여기있는 누군가가 조금 더 명확 해지기를 바랍니다.

1

당신은을 XmlDocument에로드하고있는 NodeList을 채우기 위해하는 XPath 문을 사용할 수 있습니다 ...

Dim doc As XmlDocument = New XmlDocument() 
doc.Load("hosts.xml") 
Dim nodeList as XmlNodeList 
nodeList = doc.SelectNodes("/HostCollectionInfo/Hosts/Host") 

그런 다음 노드를 통해 루프


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 
     }