Ich erstelle ein Parsing-Skript, um Daten aus einer Datei zu extrahieren. Ich möchte, dass es Szenarien mit nur einer Art Kindknoten oder wenn es mehrere gibt. Betrachten Sie dieses XML.So ermitteln Sie, ob mindestens ein XML-Knoten vorhanden ist
<ClinicalDocument>
<recordTarget>
<patientRole>
<id></id>
<addr></addr>
<addr></addr>
</patientRole>
</recordTarget>
</ClinicalDocument>
ich wahrscheinlich dort nur als eine recordTarget, patientRole zählen konnte, und ID, aber das Parsen Skript kugelsicher zu machen, möchte ich in der Lage sein, einfach um zu sehen, zu testen, ob es mehr als eine an jedem Knoten ist Level, bevor ich versuche, Daten daraus zu ziehen. Zum Beispiel, wenn es nur ein <id>
, würde ich zieht Sie die Daten wie das ist ...
$xpath = $xml.ClinicalDocument.recordTarget
$id = $xpath.patientRole.id.extension
jedoch, wenn es zwei <id>
s in der Datei, ich brauche die Daten so ziehen ...
$xpath = $xml.ClinicalDocument.recordTarget
$id = $xpath.patientRole.id[1].extension
ich jeden Knoten mit einer foreach zugreifen konnte, aber es scheint, wie Abfall, wenn ich jeden nur die erste Instanz jedes <id>
wollen. Gibt es eine bessere Möglichkeit, mit den einzelnen vs mehreren Elementen in einer Sammlung umzugehen?