ホームページ  >  記事  >  バックエンド開発  >  PHP が xpath を使用して XML を解析する方法

PHP が xpath を使用して XML を解析する方法

墨辰丷
墨辰丷オリジナル
2018-05-22 14:34:011268ブラウズ

この記事では、Xpath を使用して XML を解析する PHP の方法を主に例とともに詳しく紹介し、Xpath を使用して XML ドキュメントを解析する操作手順と関連する実装スキルも説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

XML ファイルは、PHP Web サイトによって開発された軽量アプリケーションで広く使用されており、PHP が XML ファイルを解析して読み取る方法は数多くあります (JS DOM、SimpleXml、 XML ファイルを解析するための Xpath などの方法。今日は、PHP で XML を解析するための Xpath の使用例について説明します。同時に、Xpath の XML 解析の例を通じて、いくつかの基本的な Xpath 構文を紹介します。

Xpathとは何ですか? Xapth は主に XML ドキュメント内の情報をクエリするために使用され、パス式を使用して XML ファイルを解析し、XML ファイル内のデータを読み取ることができます。

PHP XML 解析に関する推奨チュートリアル:

PHP4 および PHP5 バージョンでの XML ドキュメントの解析方法

PHP 解析が必要な XML ドキュメント:

<?xmlversion="1.0"encoding="gbk"?>
<LeapsoulXML> 
<LeapsoulInfo> 
<name>PHP网站开发-PHP教程-jb51.net</name>
  <website>http://www.jb51.net</website>
 </LeapsoulInfo>
 <LeapsoulInfo> 
<name>
   <keywords>
   <keywordkeyid=&#39;1&#39;>PHP网站开发</keyword>
   <keywordkeyid=&#39;2&#39;>PHP教程</keyword>
   <keywordkeyid=&#39;3&#39;>PHP</keyword>
   </keywords>
   <seo>SEO</seo>
  </name>
 </LeapsoulInfo>
 <WebInfo> 
<name>PHP网站开发</name>
  <website>http://www.jb51.net</website>
 </WebInfo>
</LeapsoulXML>

Xpath 構文チュートリアル

/ は、XML ファイルのルート ノードから解析を開始することを意味します

// は、位置関係を考慮せずに、XML ファイルで選択されている現在のノードと一致することを意味します (SQL のファジー クエリと同様) は、現在のノードを選択することを意味します
..現在のノードの親ノードの選択を示します
@特定のノードまたは属性の一致を示します

PHP の XML 解析例の最初のステップ

$xml = simplexml_load_file(&#39;leapsoulcn.xml&#39;);

手順: PHP SimpleXML を使用して、必要な XML ドキュメントをロードします解析済み、SimpleXML のデフォルト PHP5 サポート。

例 1:

foreach($xml->xpath(&#39;LeapsoulInfo&#39;)as $value) { 
  print_r($value);
}

説明: この Xpath の例では、Xpath を介して指定されたノードをクエリし、そのすべての子ノードを配列の形式で返し、PHP の print_r を使用して最終的な配列構造を出力します。関数。

例 2:

foreach($xml->xpath(&#39;LeapsoulInfo/name&#39;)as $value) { 
  print_r($value);
}

説明: この Xpath インスタンスでは、Xapth によってクエリされる必要がある特定のサブノードが Xpath パス式を通じて指定され、このサブノードの要素は次のようになります。配列の形式で返されます。

例 3:

foreach($xml->xpath(&#39;//name&#39;)as $value) { 
  print_r($value);
}

説明: この Xpath の例では、Xpath を使用して XML ファイル内のすべての名前ノードの要素をクエリすることを示すために // が使用されています。前の Xpath の例との違いは次のとおりです。その名前には位置関係はありません。

例 4:

foreach($xml->xpath(&#39;LeapsoulInfo//name&#39;)as $value) { 
  print_r($value);
}

説明: PHP は、XML ファイル内の指定されたノードの下にある子ノードを解析し、指定された子の位置関係を無視して、そのすべての子ノードを配列の形式で返します。 LeapsoulInfoXML のノード。

例 5:

foreach($xml->xpath("//name/keywords/keyword[@keyid=&#39;1&#39;]")as $value) { 
  print_r($value);
}

手順:

PHP で解析する必要がある XML ファイル内の Xpath から keyid=1 の要素を検索し、配列の形式で返します。 OK、上記の PHP Xpath サンプル チュートリアルは、PHP が XML ファイルを解析するための最も基本的な方法であり、Xpath パス式を合理的に使用することで、複雑な XML クエリと解析を実行でき、SQL と同じくらい便利に使用できます。

関連する推奨事項:

Python クローラーの基本的な使用方法の詳細な説明

xpath

dom4j での XPath の使用の詳細な説明 (コード付き)


xpathの分析例

以上がPHP が xpath を使用して XML を解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。