Hallo Formum,
ich lese eine XML-File aus und ändere alle Attribute("label") so, dass der Innertext immer einen uniquen Inhalt hat.
Das heißt, ich füge an jedes label ein _UIN und eine Zahl, die sich erhöht, an.
sieht dann so aus
label="test_UIN0"
label="test_UIN1"
usw.
hier mein Code mit dem ich das XML auslese und ändere
Wenn jetzt aber z.B. ein Label nur 1mal im XML vorkommt, dann möchte ich keine "_UIN" anhängen.
Also wirklich nur bei Labels, die nicht unique sind.
wie mache ich das?
Kann jemand helfen?
Danke
Tom
ich lese eine XML-File aus und ändere alle Attribute("label") so, dass der Innertext immer einen uniquen Inhalt hat.
Das heißt, ich füge an jedes label ein _UIN und eine Zahl, die sich erhöht, an.
sieht dann so aus
label="test_UIN0"
label="test_UIN1"
usw.
hier mein Code mit dem ich das XML auslese und ändere
VB.NET-Quellcode
- Sub MakeUnique()
- Dim Iterator As Integer = 0
- Dim MainNodes As Xml.XmlNodeList = a3sXml.SelectNodes("//models")
- For Each MainNode As Xml.XmlNode In MainNodes
- Dim ChilNodes As Xml.XmlNodeList = MainNode.ChildNodes
- For Each ChildNode As Xml.XmlNode In ChilNodes
- If Not ChildNode.Attributes("label") Is Nothing Then
- Dim SubNodeLabel As String = ChildNode.Attributes("label").InnerText
- SubNodeLabel = SubNodeLabel & "_UIN" & Iterator
- ChildNode.Attributes("label").InnerText = SubNodeLabel
- Console.WriteLine(SubNodeLabel)
- End If
- Iterator += 1
- Next ChildNode
- Next MainNode
- End Sub
Wenn jetzt aber z.B. ein Label nur 1mal im XML vorkommt, dann möchte ich keine "_UIN" anhängen.
Also wirklich nur bei Labels, die nicht unique sind.
wie mache ich das?
Kann jemand helfen?
Danke
Tom