XML-Dokument lesen

25/01/2009 - 19:00 von Maximilian Tescher | Report spam
Hallo zusammen,

ich hàtte eine grosse Bitte:
Beim auslesen einer XML-Datei komme ich nicht weiter und bràuchte
einen Lösungsansatz. Es geht dabei um folgende Zeilen (als Beispiel),
welche so von einem Programm erzeugt werden:


<?xml version="1.0" encoding="UTF-8"?>
<?mso-infoPathSolution productVersion="12345" name="t1:t2:t3"
Version="1" solution="1" ?>
<?mso-application progid="InfoPath.Document"?>
<my:Eng_Setup xmlns:my="http://schemas.microsoft.com/office/infopath/
2003/myXSD/2007-01-13T17-08-26">
<my:DocId>XmlTestDoc</my:DocId>
<my:Eng_Profile>
<my:Eng_Name>Das ist ein Test</my:Eng_Name>
<my:Eng_Number>4711</my:Eng_Number>
<my:Eng_Enable>true</my:Eng_Enable>
</my:Eng_Profile>
</my:Eng_Setup>


Wie kann ich zuverlàssig den Wert my:Eng_Name auslesen?

Wàre Euch für ein Tipp sehr dankbar.

Gruss,
Maxi
 

Lesen sie die antworten

#1 Martin Honnen
25/01/2009 - 19:16 | Warnen spam
Maximilian Tescher wrote:

Wie kann ich zuverlàssig den Wert my:Eng_Name auslesen?



Welche .NET Version willst du benutzen? In .NET 3.5 kann man das z.b.
per LINQ to XML machen:

Dim doc As XDocument = XDocument.Load("XMLFile1.xml")
Dim name As String = doc.<Eng_Setup>.<Eng_Profile>.<Eng_Name>.Value

Dazu braucht es dann allerdings ein

Imports
<xmlns="http://schemas.microsoft.com/office...">

in der Imports-Sektion. So das nicht möglich ist, weil die
Namensraum-URL beim Schreiben des VB-Programmes nicht bekannt ist, kann
man das auch anders lösen:

Dim doc As XDocument = XDocument.Load("XMLFile1.xml")
Dim ns As XNamespace = doc.Root.Name.Namespace
Dim name As String = doc.Element(ns + "Eng_Setup").Element(ns +
"Eng_Profile").Element(ns + "Eng_Name").Value


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

Ähnliche fragen