So konvertieren Sie XML-Attribute in Textknoten
Ich habe ein PHP-Skript, das eine XML-Datei von einem Remote-Server abruft und mit simplexml_load_string und json_encode in JSON konvertiert. Der simplexml_load_string scheint jedoch Inline-Attribute wie folgt zu ignorieren:
<code><AxisFeedrate dataItemId="iid7" timestamp="2012-03-21T15:15:41-04:00" sequence="7" name="Yfrt" subType="ACTUAL" units="MILLIMETER/SECOND">UNAVAILABLE</AxisFeedrate> </code>
In diesem Fall wäre die JSON-Darstellung {AxisFeedrate: 'UNAVAILABLE'}.
Ich muss jedoch diese Attribute zur Verfügung haben. Eine Idee, die ich angesprochen habe, ist das Ersetzen von Zeichenfolgen, um die Attribute in Textknoten zu verwandeln:
<code><AxisFeedrate> <dataItemId>iid7</dataItemId> <timestamp>2012-03-21T15:15:41-04:00</timestamp> <sequence>7</sequence> <name>Yfrt</name> <subType>ACTUAL</subType> <units>MILLIMETER/SECOND"</units> <value>UNAVAILABLE</value> </AxisFeedrate> </code>
Ich kann die Attribute durch reguläres Suchen / Ersetzen in eigene Tag-Elemente umwandeln, habe jedoch Probleme, den ursprünglichen Textwert in ein Value-Tag zu schreiben, zumindest durch Suchen / Ersetzen.
Was sind einige gute Ansätze dafür? Der obige XML-Block befindet sich in der Mitte vieler ähnlicher Blöcke mit unterschiedlichen Datenelementen, sodass ich nicht einfach anfangen konnte, das erste> Schließen durch> ... zu ersetzen.