ホームページ > バックエンド開発 > PHPチュートリアル > PHP が DOM と simplexml を使用して XML ドキュメントを読み取る方法の例

PHP が DOM と simplexml を使用して XML ドキュメントを読み取る方法の例

高洛峰
リリース: 2023-03-05 17:10:02
オリジナル
1475 人が閲覧しました

この記事では、DOM と simplexml を使用して XML ドキュメントを読み取るための PHP の方法を主に紹介し、DOM と simplexml を使用して XML ファイルを作成、読み込み、読み取るための PHP の関連操作スキルをサンプルの形で分析します。この記事の次の

例では、PHP が DOM と simplexml を使用して XML ドキュメントを読み取る方法について説明します。次のように、参考としてみんなと共有します。

例 DOM を使用して、次の XML ドキュメント内のすべての金庸小説のタイトルを取得します。XML ドキュメントの場所は ./books.xml です:

<?xml version="1.0" encoding="utf-8"?>
<root>
 <book>
  <title>天龙八部</title>
  <author>金庸</author>
 </book>
 <book>
  <title>陆小凤</title>
  <author>古龙</author>
 </book>
 <book>
  <title>倚天屠龙记</title>
  <author>金庸</author>
 </book>
 <book>
  <title>西游记</title>
  <author>吴承恩</author>
 </book>
 <book>
  <title>神雕侠侣</title>
  <author>金庸</author>
 </book>
 <book>
  <title>射雕英雄传</title>
  <author>金庸</author>
 </book>
</root>
ログイン後にコピー

DOM コードの使用 実装:

DOM の XML ドキュメントの読み取り手順: 1. DOM オブジェクトを作成します——》2. DOM ドキュメントのコンテンツをロードします——》3. 読み込むコンテンツが配置されているタグをインターセプトします——》読み取られる内容。

header(&#39;Content-type:text/html;charset=utf-8&#39;);
$arr=array();
$dom = new DOMDocument();//创建DOM对象
$dom->load(&#39;./books.xml&#39;);//载入xml文档
print_r($dom);
echo &#39;<hr>&#39;;
$dom = $dom->getElementsByTagName(&#39;book&#39;);//截取标签
for($i=0;$i<$dom->length;$i++){
 if($dom->item($i)->childNodes->item(1)->childNodes->item(0)->wholeText==&#39;金庸&#39;){
  $arr[] = $dom->item($i)->childNodes->item(0)->childNodes->item(0)->wholeText.&#39;<br />&#39;;//获取内容
 }
}
print_r($arr);
ログイン後にコピー

getElementsByTagName と childNodes を使用した後は、すべてのオブジェクトが返されるため、返されるオブジェクトに項目が 1 つだけ含まれている場合でも、後で item(int) を使用する必要があります。それ以外の場合は、item(0) で指定する必要があります。何かがうまくいかないでしょう。

simplexml コードを使用して実装します。

$simxml = simplexml_load_file(&#39;./books.xml&#39;);
$t = $simxml->book;
$arr=array();
foreach ($t as $v){
 if($v->author==&#39;金庸&#39;){
  $arr[] = (string)$v->title;
 }
}
print_r($arr);
ログイン後にコピー

simplexml_load_file を使用すると、オブジェクトと配列の両方が含まれるオブジェクトが返されます。 foreach 内のコンテンツをループします。このインスタンスによって取得される最後のコンテンツ $v->title は実際にはオブジェクトであるため、string を使用して文字列に変換する必要があります。

PHP が DOM と simplexml を使用して XML ドキュメントを読み取る方法のその他の例については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート