Ich versuche 11 XML-Elemente zu erhalten von einem 'n' Anzahl von XML-Elementen. Ich habe 11 IDs, wobei id
für alle XML-Elemente eindeutig ist.XML Element als String von XML-Daten importieren (Suchen Sie in XML-Daten) in php
Ich bin mit PHP
$xml = simplexml_load_string($j[0]); // $j[0] contains 'n' number of xml elements. I need to get 11 xml elements with 11 different ids.
$doc = new DOMDocument();
$doc->loadXML($j[0]);
$players = $doc->getElementsByTagName('player');
Ich muss durch die folgenden XML-Daten ($j[0]
)
<testsquad>
<team name="team1" abbr="t1" >
<tplayers>
<player name="player1" id="1"/>
<player name="player2" id="2"/>
<player name="player3" id="3"/>
<player name="player4" id="4"/>
<player name="player5" id="5"/>
<player name="player6" id="6"/>
<player name="player7" id="7"/>
<player name="player8" id="8"/>
<player name="player9" id="9"/>
<player name="player10" id="10"/>
<player name="player11" id="11"/>
<player name="player12" id="12"/>
<player name="player13" id="13"/>
<player name="player14" id="14"/>
<player name="player14" id="14"/>
</tplayers>
</team>
</testsquad>
Aus den angegebenen XML-Daten mit 'n' Anzahl der Spieler Elemente analysieren, ich brauche um nur 11 Elemente zu bekommen.
Ich bin verwirrt mit der Suche durch XML-Daten mit PHP.
Wenn ich die var_dump($doc->loadXML($j[0]));
mache, habe ich den folgenden Fehler.
Warning: DOMDocument :: loadXML(): Leere Zeichenfolge als Eingabe geliefert
Wo ich falsch werde ?. Bitte kommentieren Sie, wenn meine Frage nicht klar ist.
Die angegebenen XML-Daten haben nicht den Header wie unten.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Ist das der Grund, es Leere Zeichenfolge als Eingabe geliefert sagt?
"Ich habe 11 IDs" - nur zur Klarstellung: Sie haben tatsächlich eine Liste wie '$ IDs = [1,3,5,7,9,11,13, ...]' und Sie wollen die entsprechenden Spielerelemente aus dem Dokument/dom auswählen? – VolkerK
Wenn '$ j [0]' über XML steht, kann ** ** nicht über dem obigen Fehler liegen (oder bezieht sich zumindest nicht auf Code in Ihrem Beispiel). Im 'simplexml_load_string' Kommentar schreiben Sie:" $ j [0] enthält 'n' Anzahl von XML Elementen ", also müssen Sie vielleicht versuchen $ doc-> loadXML ($ j [0] [0]);'? (In diesem Fall sollten Sie jedoch einen Fehler erhalten, wie "erwartet, dass Parameter 1 eine Zeichenfolge ist, ein Array gegeben ist") – fusion3k
@VolkerK Genau – Gunaseelan