Auslesen XML-Dokument

06/03/2009 - 21:10 von Maximilian Tescher | Report spam
Hallo Zusammen,

ich öffne ein XML-Dokument als XmlDocument und möchte die Angaben der
ersten Zeilen vor (?) dem Root abrufen.

Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<?mso-infopathsolution name="..." version="...">
<test:Root xmlns.
.
.
.

Mir geht es um die zweite Zeile und daraus den Namen und die Version.

Wie kann ich diese Zeilen auslesen? Wàre dankbar für Eure Hilfe.


Viele Grüsse,
Maximilian
 

Lesen sie die antworten

#1 Martin Honnen
07/03/2009 - 13:02 | Warnen spam
Maximilian Tescher wrote:

ich öffne ein XML-Dokument als XmlDocument und möchte die Angaben der
ersten Zeilen vor (?) dem Root abrufen.

Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<?mso-infopathsolution name="..." version="...">
<test:Root xmlns.
.
.
.

Mir geht es um die zweite Zeile und daraus den Namen und die Version.



Wenn die Zeile nicht wie oben sondern so aussieht:
<?mso-infopathsolution name="..." version="..."?>
dann ist das eine "processing instruction", die man per XPath finden
kann und wo man dann per Data-Eigenschaft die Zeichenkette
name="..." version="..."
auslesen kann. Diese muss man dann per regulàrem Ausdruck parsen:

Dim doc As New XmlDocument()
doc.Load("..\..\XMLFile1.xml")
Dim pi As XmlProcessingInstruction =
DirectCast(doc.SelectSingleNode("processing-instruction('mso-infopathsolution')"),
XmlProcessingInstruction)
If pi IsNot Nothing Then
Dim matchResult As Match = Regex.Match(pi.Data,
"name=""([^""]*)""\s+version=""([^""]*)""")
Console.WriteLine("name: ""{0}""; version: ""{1}""",
matchResult.Groups(1), matchResult.Groups(2))
End If

Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen