Benötige Hilfe mit Zugriff auf XML Datei
phaz3r
- xml
Hallo,
ich benötige bitte etwas Hilfe bzw. einen Tip.
Ich habe eine XML Datei mit folgender derzeitiger Struktur:
<Datenbank version="1.0.0.0">
<Zustand name="neu">
<MaschineInfo xmlns:Maschine="Maschine 1">
Maschine:ID434347u578458</Maschine:ID>
Maschine:PropertyMASCHINE1</Maschine:Property>
</MaschineInfo>
</Zustand >
<Zustand name="gebraucht">
<MaschineInfo xmlns:Maschine="Maschine 2">
Maschine:ID34347u578458</Maschine:ID>
Maschine:PropertyMASCHINE2</Maschine:Property>
</MaschineInfo>
<MaschineInfo xmlns:Maschine="Maschine 5">
Maschine:ID36647u578458</Maschine:ID>
Maschine:PropertyMASCHINE5</Maschine:Property>
</MaschineInfo>
</Zustand >
<Zustand name="defekt">
<MaschineInfo xmlns:Maschine="Maschine 10">
Maschine:ID32227u578458</Maschine:ID>
Maschine:PropertyMASCHINE10</Maschine:Property>
</MaschineInfo>
</Zustand >
</Datenbank>
ich möchte nun alle MaschineInfo Knoten enumerieren und mir jeweils die ID und Property Daten ausgeben lassen.
Das Enumerieren klappt auch soweit ganz gut. Das mache ich wie folgt:
set oNodeList = oDoc.getElementsByTagName("DeviceInfo");
if (oNodeList.length > 0) then
for i = 0 to (oNodeList.length - 1);
set oNode = oNodeList.nextNode;
set oParentNode = oNode.parentNode;
endfor;
endif;
Nur wie komme ich nun einfach an die Daten heran, sprich jeweils an Maschine:ID und Maschine:Property? Innerhalb der Schleife zu dem aktuellen Knoten.
(Die Struktur der XML kann ich auch modifizieren, sofern das sinnvoll ist)
Danke
phazer
Hallo,
Nur wie komme ich nun einfach an die Daten heran, sprich jeweils an Maschine:ID und Maschine:Property? Innerhalb der Schleife zu dem aktuellen Knoten.
Zum Beispiel indem du ausgehend vom MaschineInfo-Elementknoten mit getElementsByTagName die Elemente ID und Property ansprichst.
Ich weiß nicht, welche Sprache du da schreibst, aber vom DOM-Prinzip her in Pseudocode:
idElement = MaschineInfo.getElementsByTagName("ID").item(0); // halt das erste Element in der zurückgegebenen Liste, denn es gibt ja nur eins mit dem Elementnamen
propertyElement = MaschineInfo.getElementsByTagName("Property").item(0);
Dann jeweils .firstChild.nodeValue, um den Textknoten anzusprechen.
Mathias
Danke. Das funktioniert.
(Sprache ist InstallScript)