Entwickler-Ecke
IO, XML und Registry - xml mit gleichen NodeNames
yndaso - Mi 05.08.09 12:29
Titel: xml mit gleichen NodeNames
Hallo,
wie komme ich an einen bestimmten Node bei dieser xml Datei heran.
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| <?xml version="1.0" standalone="yes" ?> - <Sequence_Table> - <Function> <Exec>true</Exec> <Object>AutomationBuilder</Object> <FuncName>InitializeProject</FuncName> <Par1>RRS_Standard.iwp</Par1> <Par2>MTXObject</Par2> <Par3 /> </Function> - <Function> <Exec>true</Exec> <Object>MTX</Object> <FuncName>FirmwareDownload</FuncName> <Par1>C:\FWC-CMP40_60-MT17.2.19.fw</Par1> </Function> + <Function> <Exec>true</Exec> <Object>AutomationBuilder</Object> <FuncName>Sleep</FuncName> <Par1>5</Par1> </Function> + <Function> <Exec>true</Exec> <Object>Basic.Application</Object> <FuncName>Shutdown</FuncName> </Function> </Sequence_Table> |
So ich brauche nun den Inhalt des Nodes
<Par1>C:\FWC-CMP40_60-MT17.2.19.fw</Par1>
Wer kann mir hier helfen? Mein Problem ist die Nodes alle Function heißen...
Hier mal mein Ansatz:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| xmldoc.Load(path); tmpXmlNode = xmldoc.SelectSingleNode("Sequence_Table").SelectSingleNode("Function"); if (tmpXmlNode != null) { } |
Hoffe mal wieder auf eure Unterstützung!
Danke
yndaso - Mi 05.08.09 13:04
Habe mal 30 Minuten ausprobiert...
Es gibt ne Möglichkeit mit ChildNotes.Items() per Schleife darauf zuzugreifen.
Hat somit nun geklappt...
danielf - Do 06.08.09 12:07
Hallo,
die Antwort findest du bei XPath.
In deinem Code machst du doch xmldoc.SelectSingleNode( AUSDRUCK ) ...
dieser Ausdruck ist XPAth.
XPath erlaubt dir viele Sachen. Such am besten nach einem Tutorial im Internet oder so, da würdst du bestimmt fündig.
Dein Ausdrücke wäre dann in etwa:
/Sequence_Table/Function[position()=3]/Par1
Gruß Daniel
PS: Wahrscheinlich ist dein Par1 nicht immer an der 3ten Position... Deshalb wäre wohl
/Sequence_Table/Function/FuncName[text()=FirmwareDownload]/../Par1
besser... (Um den Dateiname anhand des FuncName zu bekommen)... schau einfach mal nach Xpath.... :o
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!