TECH I.S.

PHP SimpleXML - ノード/属性値の取得


SimpleXMLは、XMLデータを簡単に操作および取得できるようにするPHP拡張機能です。


PHP SimpleXML - ノード値の取得

note.xml"ファイルからノード値を取得します。

<?php $xml=simplexml_load_file("note.xml") or die("Error: Cannot create object"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>

上記のコードの出力は次のようになります。

<div>Tove Jani Reminder Don't forget me this weekend!</div>

別のXMLファイル

書籍.xml"」というXMLファイルがあるとします。それは次のようになります。

<div> <?xml version="1.0" encoding="utf-8"?> <bookstore>   <book category="COOKING">     <title lang="en">Everyday Italian</title>     <author>Giada De Laurentiis</author>     <year>2005</year>     <price>30.00</price>   </book>   <book category="CHILDREN">     <title lang="en">Harry Potter</title>     <author>J K. Rowling</author>     <year>2005</year>     <price>29.99</price>   </book>   <book category="WEB">     <title lang="en-us">XQuery Kick Start</title>     <author>James McGovern</author>     <year>2003</year>     <price>49.99</price>   </book>   <book category="WEB">     <title lang="en-us">Learning XML</title>     <author>Erik T. Ray</author>     <year>2003</year>     <price>39.95</price>   </book> </bookstore></div>

PHP SimpleXML - 特定の要素のノード値を取得する

次の例では、「books.xml」ファイルの1番目と2番目の<book>要素にある<title>要素のノード値を取得します。

<?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); echo $xml->book[0]->title . "<br>"; echo $xml->book[1]->title; ?>

上記のコードの出力は次のようになります。

<div> Everyday Italian Harry Potter</div>

PHP SimpleXML - ノード値の取得 - ループ

次の例では、「books.xml」ファイル内のすべての<book>要素をループし、<title>、<author>、<year>、および <price>要素のノード値を取得します。

<?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); foreach($xml->children() as $books) {   echo $books->title . ", ";   echo $books->author . ", ";   echo $books->year . ", ";   echo $books->price . "<br>"; } ?>

上記のコードの出力は次のようになります。

<div> Everyday Italian, Giada De Laurentiis, 2005, 30.00 Harry Potter, J K. Rowling, 2005, 29.99 XQuery Kick Start, James McGovern, 2003, 49.99 Learning XML, Erik T. Ray, 2003, 39.95</div>

PHP SimpleXML - 属性値の取得

次の例では、最初の<book>要素の「category」属性の属性値と、2番目の<book>要素の <title>要素の「lang」属性の属性値を取得します。

<?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); echo $xml->book[0]['category'] . "<br>"; echo $xml->book[1]->title['lang']; ?>

上記のコードの出力は次のようになります。

<div> COOKING en</div>

PHP SimpleXML - 属性値の取得 - ループ

次の例では、「books.xml」ファイルの <title>要素の属性値を取得します。

<?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); foreach($xml->children() as $books) {   echo $books->title['lang'];   echo "<br>"; } ?>

上記のコードの出力は次のようになります。

<div>en en en-us en-us</div>

その他のPHP SimpleXML

PHP SimpleXML 関数の詳細については、PHP SimpleXML リファレンスを参照してください。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細