ich eine XML-Datei, die so etwas wie diese: (Dateiname: abc.xml)Schleife durch XML-Knoten mit XmlStringStreamer in PHP
<Envelope>
<Body>
<SResponse>
<Body>
<SResponseDetails>
<SItem>...</SItem>
<SItem>...</SItem>
<SItem>...</SItem>
<SItem>...</SItem>
</SResponseDetails>
</Body>
</SResponse>
</Body>
</Envelope>
ich all <SItem>
in einer DB-Tabelle gespeichert werden soll (1 Datensatz für jedes SItem). Ich benutze PHP dafür und benutze XmlStringStreamer.
Hier ist mein Code zum Lesen und Bearbeiten dieser Datei.
$streamer = \Prewk\XmlStringStreamer::createStringWalkerParser(__DIR__ . "/tempFile.xml");
$stream = new Stream\File(__DIR__ . "/abc.xml", 1024);
$parser = new Parser\StringWalker();
$streamer = new XmlStringStreamer($parser, $stream);
while ($node = $streamer->getNode()) {
$simpleXmlNode = simplexml_load_string($node);
//-- code here for getting single node
}
Ich verwende XmlStringStreamer und keine Antwort von jedem Forum bekommen habe, habe ich auch versucht, aber bekommen konnte nicht das, was ich so will, kann jemand mir bitte helfen.
Vielen Dank.
zur Verarbeitung habe ich versucht, diese auch in while-Schleife: foreach ($ simpleXmlNode-> SResponse-> Body-> SResponseDetails-> SITEM as $ item) Und ich erhalte jeden Knoten in XmlObject so, ich bin xml konvertieren Objekt zu XML mit asXML() -Funktion, aber es konvertieren Zeichen in Kleinbuchstaben. – GoalDone
können Sie den $ simpleXmlNode-Beispielwert angeben? Ich werde sehen, ob Sie etwas Zeit finden, um es für Sie zu validieren? – Star
können Sie mich wissen lassen, wie ich asXML() verwenden kann, ohne Text in Kleinbuchstaben zu ändern. Es konvertiert XML-Tags in Kleinbuchstaben. – GoalDone