2016-04-20 4 views
0

Gibt es eine einfache Möglichkeit, die IP-Adressen in der XML-Datei zu ändern?XML lesen/ändern/speichern vb.net

Meine Idee ist, zuerst den "Verbindungsnamen" in einer Listbox und dann die IP-Adresse zu laden. Dann machen Sie 3. Listbox, wo sie die neue IP-Adresse hinzufügen können.

und speichern Sie die neue XML-Datei

<CSD> 
<Version> 
<Version>2.0.1</Version> 
<fileVersion>2.0</fileVersion> 
</Version> 
<Connections> 
<Connection name="Con1"> 
<Property name="attributes"> 
<title>Product1</title> 
<ipaddress>10.79.44.33</ipaddress> 
<ipport>80</ipport> 
</Property> 
</Connection> 
<Connection name="Con2"> 
<Property name="attributes"> 
<title>Product2</title> 
<ipaddress>10.79.44.34</ipaddress> 
<ipport>80</ipport> 
</Property> 
</Connection> 
<Connection name="Con3"> 
<Property name="attributes"> 
<title>Productq</title> 
<ipaddress>10.79.44.35</ipaddress> 
<ipport>80</ipport> 
</Property> 
</Connection> 
</Connections> 
</CSD> 

Antwort

0

Versuchen Sie, diese

Imports System.Xml 
Imports System.Xml.Linq 
Module Module1 

    Sub Main() 
     Dim xml As String = _ 
      "<CSD>" & _ 
       "<Version>" & _ 
        "<Version>2.0.1</Version>" & _ 
        "<fileVersion>2.0</fileVersion>" & _ 
       "</Version>" & _ 
       "<Connections>" & _ 
        "<Connection name=""Con1"">" & _ 
         "<Property name=""attributes"">" & _ 
          "<title>Product1</title>" & _ 
          "<ipaddress>10.79.44.33</ipaddress>" & _ 
          "<ipport>80</ipport>" & _ 
         "</Property>" & _ 
        "</Connection>" & _ 
        "<Connection name=""Con2"">" & _ 
         "<Property name=""attributes"">" & _ 
          "<title>Product2</title>" & _ 
          "<ipaddress>10.79.44.34</ipaddress>" & _ 
          "<ipport>80</ipport>" & _ 
         "</Property>" & _ 
        "</Connection>" & _ 
        "<Connection name=""Con3"">" & _ 
         "<Property name=""attributes"">" & _ 
          "<title>Productq</title>" & _ 
          "<ipaddress>10.79.44.35</ipaddress>" & _ 
          "<ipport>80</ipport>" & _ 
         "</Property>" & _ 
        "</Connection>" & _ 
       "</Connections>" & _ 
      "</CSD>" 
     Dim csd As XElement = XElement.Parse(xml) 
     Dim ipAddresses As List(Of XElement) = csd.Descendants("ipaddress").ToList() 
     Dim subAddress As String = "10.79.40" 
     Dim address = 1 
     For Each ipAddress As XElement In ipAddresses 
      ipAddress.Value = subAddress & "." & address.ToString 
      address += 1 
     Next ipAddress 
    End Sub 

End Module 
Verwandte Themen