PHP は、SimpleXML に基づいて XML を生成および解析するメソッドを実装します。

墨辰丷
リリース: 2023-03-26 20:48:02
オリジナル
1744 人が閲覧しました

この記事では、PHP で SimpleXML に基づいて XML を生成および解析する方法を主に紹介し、SimpleXML を使用して XML 形式のデータを生成および解析するための PHP の具体的な操作スキルを完全な例の形式で分析します。

xml についてはあまり説明されていませんが、PHP には domdocment、simplexml、xmlwriter など、さまざまな方法で XML を操作する方法が用意されています。今回は、その方法について説明します。 simplexml は XML ファイルを読み取って解析します

1. XML 文字列とファイルを生成します

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new SimpleXMLElement(&#39;<?xml version="1.0" encoding="utf-8"?><UsersInfo />&#39;);
 $item=$xml->addchild("item");
 $item->addchild("name","冯绍峰");
 $item->addchild("age","30");
 $item2=$xml->addchild("item");
 $item2->addchild("name","潘玮柏");
 $item2->addchild("age","29");
 $item2->addAttribute("id","02");
 header("Content-type: text/xml");
 echo $xml->asXml();
 $xml->asXml("student.xml");
?>
ログイン後にコピー

XML を生成するだけの場合は、addchild、addAttribute、および asXml を使用します。ファイルのヘッダーは次のとおりです

とても簡単ですね

2. simplexmlはxmlファイルまたは文字列を解析します

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=simplexml_load_file("UserInfo.xml");
 //通过children取得根节点下面的子项
 for($i=0;$i<count($xml->children());$i++){
   foreach ($xml->children()[$i] as $key => $value ) {
    echo "$key:$value"."<br/>";
   }
 }
?>
ログイン後にコピー

上記のメソッドは、XML 文字列の場合は、simplexml_load_file を simplexml_load_string に変更するだけで済みます。取得されたノードは配列であり、必要に応じて直接トラバースできます。以下はフィルター条件を追加するだけです

ちなみに私の XML ファイルを投稿してください

<?xml version="1.0" encoding="UTF-8"?>
<UsersInfo>
 <item>
   <name>潘玮柏</name>
   <address>上海市浦东新区</address>
   <song>快乐崇拜</song>
 </item>
 <item>
   <name>蔡依林</name>
   <address>上海市徐汇区</address>
   <song>独占神话</song>
 </item>
</UsersInfo>
ログイン後にコピー

関連する推奨事項:

PHP XML の解析と生成SimpleXML使い方の紹介

php SimpleXML()関数 使い方の詳しい説明

phpはsimplexmlを使ってxmlを解析します

以上がPHP は、SimpleXML に基づいて XML を生成および解析するメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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