【PHP】simplexml_load_stringの使い方

この記事について

環境PHP
目的XML文字列からタグの間の文字を抜き出す
結果simplexml_load_stringで読み込み、アロー演算子で階層を下る。同名タグはforeachで展開

つまずきポイント要約

  • ヒアドキュメント「<<

シンプルにタグの間の文字を抜き出すサンプルコード
abcタグの間の文字を出力

<?php
//「$string = <<<XML」の下に改行は入れないこと!エラーになる
//行の先頭に半角スペースなどが入ることもないように(これコピペするとたぶん入る)
$string = <<<XML
<?xml version="1.0" ?>
<root>
<test>TEST1</test>
<test>TEST2</test>
<abc>xyz</abc>
</root>
XML;

$xml = simplexml_load_string($string);

//「->」(アロー演算子)で階層を下っていく
$content = $xml->abc;
print $content;
?>

testタグの間の文字を出力する

$content = $xml->test;
print $content;

但しこれだと最初のひとつしか出力されないので、すべて表示するには展開する。

foreach ($xml->test as $value) {
  echo $value . "<br>";
}

関連記事

タイトルとURLをコピーしました