2016-07-11 14 views
0

ich die folgende XML-Datei haben:Lesen und Schreiben von XML-Knoten

<MODEM_LIST> 
    <MODEM> 
    <ID>1</ID> 
    <PORT>6</PORT> 
    <ENABLED>True</ENABLED> 
    <MODE>R</MODE> 
    <TARGET_PREFIX>012</TARGET_PREFIX> 
    </MODEM> 
    <MODEM> 
    <ID>2</ID> 
    <PORT>42</PORT> 
    <ENABLED>False</ENABLED> 
    <MODE>B</MODE> 
    <TARGET_PREFIX>012</TARGET_PREFIX> 
    </MODEM> 
</MODEM_LIST> 

Ich bin in der Lage 1. Modem Details mit dem folgenden VB.Net Code zu lesen:

M1_ID = Module1.Read_XML_Value(sFile, "/xml/SMSConfig/MODEM_LIST/MODEM", "ID") 
    M1_PORT = Module1.Read_XML_Value(sFile, "/xml/SMSConfig/MODEM_LIST/MODEM", "PORT") 
    M1_ENABLED = Module1.Read_XML_Value(sFile, "/xml/SMSConfig/MODEM_LIST/MODEM", "ENABLED") 
    M1_MODE = Module1.Read_XML_Value(sFile, "/xml/SMSConfig/MODEM_LIST/MODEM", "MODE") 
    M1_TARGET_PREFIX = Module1.Read_XML_Value(sFile, "/xml/SMSConfig/MODEM_LIST/MODEM", "TARGET_PREFIX") 

Aber wie kann ich direkt zum 2. Modem? Ich kann den Weg nicht herausfinden

Danke.

Antwort

1

Sie können XPath-Index verwenden, um zum Beispiel 2. <MODEM> Element innerhalb eines <MODEM_LIST> parent:

/xml/SMSConfig/MODEM_LIST/MODEM[2] 

Beachten Sie, dass XPath-Index von 1 beginnt statt 0 wie in VB.NET Array/Liste-Index.

+0

Es funktioniert! Aber ich muss die erste auf "1_ID = Module1.Read_XML_Value (sFile,"/xml/SMSConfig/MODEM_LIST/MODEM [1] "," ID ")" auch ändern. –