Ich habe eine XML-Datei, die ich versuche zu lesen und für eine spätere Bearbeitung in eine neue Textdatei mit vb.net umzuschreiben.Logik zum Lesen einer XML-Datei in vb.net
Ich bin in der Lage, die XML erfolgreich zu lesen und auszudrucken, aber ich habe Probleme, die richtigen mit dann Anfangs- und End-Tags jedes Elements/Attributs zu bekommen.
Ich benutze ein 'XmlNodeReader', um das Dokument zu lesen, indem Sie den Namen und den Wert jedes gelesenen erhalten. Dann wird ein Auswahl Fall mit xmlNodeType.Element
oder xmlNodeType.EndElement
Wie erhalte ich die richtige Logik dieses Problem zu lösen, da einige XML-Linien in der Form sind <Server Type="PropertyDefinitions">
und andere sind in Form <Server Type="aServerName"/>
Ive eine versucht, wenn Schleife für endEntity
unter anderem schien aber keiner zu funktionieren. Hier ist (Teil von) mein Code, der die Lese- und Schreibfunktion zeigt. Wenn ich nicht genügend Informationen zur Verfügung gestellt habe, lass es mich wissen.
Dim reader As XmlNodeReader = New XmlNodeReader(document)
Dim result As New StringBuilder
While reader.Read
Select Case reader.NodeType
Case XmlNodeType.Element
result.Append("<" & reader.Name)
If reader.HasAttributes Then
While reader.MoveToNextAttribute()
result.Append(" " + reader.Name + "=" + Chr(34) + reader.Value + Chr(34))
End While
If XmlNodeType.EndEntity Then
result.Append("/>")
End If
Else
If XmlNodeType.Entity Then
result.Append(">")
ElseIf XmlNodeType.EndEntity Then
result.Append("/>")
End If
End If
Case XmlNodeType.EndElement
result.Append("</" + reader.Name + ">")
End Select
End While
Beispiel Probe des XML, die die drei verschiedenen Arten von Tags zeigt:
<DocumentSMG Version="6.900000" VersionSeemage="6.12.0.2428">
<Server Type="PropertyDefinitions">
<MetaProperties>
</MetaProperties>
</Server>
<Server Type="aServerType1">
<BOM.Sort.Ascendant Value="1"/>
</Server>
<Server Type="aServerType2"/>
<Server Type="aServerType3"/>
</DocumentSMG>
Gibt es einen Grund, warum Sie nicht ein XmlDocument verwenden? Es würde Ihnen erlauben, alle Änderungen zu speichern, ohne das XML selbst zu schreiben. –