11 xml要素を'n' xml要素から取得しようとしています。私はid
がすべてのxml要素に対してユニークな11のIDを持っています。xmlデータから文字列としてXML要素を取得する(XMLデータから検索する)
Iプレイヤ要素の 'n' 個の数の指定されたXMLデータからIは、以下のXMLデータを解析する必要がある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');
($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>
を使用しています、私が必要わずか11の要素を得る。
私はPHPでxmlデータを検索するのと混同しています。
var_dump($doc->loadXML($j[0]));
を実行すると、次のエラーが発生します。
警告:のDOMDocument :: loadXML():入力私は間違っているつもりです
として供給された空の文字列?。私の質問がはっきりしないかどうかコメントしてください。
指定されたxmlデータには、以下のようなヘッダーがありません。
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
が理由ということ、空の文字列を入力として供給言っているのですか?
「私には11 idsがあります」 - 明確にするために:あなたは実際に '$ ids = [1,3,5,7,9,11,13、...]'のようなリストを持っています。ドキュメント/ domから対応するプレーヤ要素を選ぶ? – VolkerK
'$ j [0]'がXMLの上にある場合、**上記のエラーはありません(または少なくともあなたの例ではコードを参照していません)。 'simplexml_load_string'コメントには、「$ j [0]にはn個のxml要素が含まれています」というように、' $ doc-> loadXML($ j [0] [0]); ' (しかし、この場合は、 "パラメータ1が文字列であること、array given"となるようなエラーを得るべきです) – fusion3k
@VolkerK厳密に – Gunaseelan