chr-f Geschrieben 12. Juli 2006 Geschrieben 12. Juli 2006 Hallo, ich hab folgendes Problem: Folgende Werte sollen aus einer XML Datei mit DOM ausgelesen werden: FOLDER NAME, LOC, IDX Die XML Datei hat folgendes Format: <?xml version="1.0" standalone="yes" ?> <LIST> <VERSION_INFO> <NR>4.07</NR> </VERSION_INFO> <FOLDER_LIST> < FOLDER NAME ="TEST1" LOC="C:\tmp\test1" TYPE="O" IDX="1" /> < FOLDER NAME ="TEST2" LOC="C:\tmp\test2" TYPE="O" IDX="2" /> < FOLDER NAME ="TEST3" LOC="C:\tmp\test3" TYPE="O" IDX="3" /> </FOLDER_LIST> </LIST> Mit XmlNodeList homeNodeList = xmlDoc.GetElementsByTagName("FOLDER_LIST"); XmlAttribute xmlAttr = homeNodeList[0].Attributes["FOLDER NAME"]; if (xmlAttr != null) Console.WriteLine(xmlAttr.InnerText); XmlNode xmlNode = homeNodeList[0].SelectSingleNode("LOC"); if (xmlNode != null) Console.WriteLine(xmlNode.InnerText); kriege ich keine Ergebnisse. Danke für eure Hilfe.
Trux Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 Mal allgemein zu xml, also ein Node beginnt mit <NODE NAME und endet mit /> bzw mit </NODE NAME>. Also <VERSION_INFO> ist ein node und hat <NR> als child node. <NR> wiederrum hat 4.07 als value. <FOLDER_LIST> ist auch ein node, und hat <FOLDER NAME> als ChildNodes, wobei NAME, LOC etc Atribute der node sind.
Klotzkopp Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 Die Knoten heißen "FOLDER", nicht "FOLDER NAME". "NAME" ist der Name des ersten Attributs.
Trux Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 Das ist richtig, hab irgendwie nicht richtig hingeschaut...
chr-f Geschrieben 14. Juli 2006 Autor Geschrieben 14. Juli 2006 Danke das war der Fehler, nicht FOLDER NAME ist ein Attribut sonder FOLDER ein Knoten und der Rest die Attribute. Jetzt läufst.
chr-f Geschrieben 14. Juli 2006 Autor Geschrieben 14. Juli 2006 Hier noch die Richtige Lösung : XmlNodeList homeNodeList = xmlDoc.GetElementsByTagName("FOLDER"); XmlAttribute xmlAttr1 = homeNodeList[0].Attributes["NAME"]; if (xmlAttr1 != null) Console.WriteLine(xmlAttr1.InnerText); XmlAttribute xmlAttr2 = homeNodeList[1].Attributes["NAME"]; if (xmlAttr2 != null) Console.WriteLine(xmlAttr2.InnerText); .....
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden