ホームページ >php教程 >php手册 >PHP が xpath を使用して XML インスタンスを解析するチュートリアル

PHP が xpath を使用して XML インスタンスを解析するチュートリアル

WBOY
WBOYオリジナル
2016-06-21 08:53:181013ブラウズ

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

Xpathとは何ですか?

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

PHP を使用した XML 解析に関する推奨チュートリアル

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

バージョン="1.0" エンコーディング="gbk"?>
>
    >
        <名前>PHP网站开发-PHP教程-Leapsoul.cn>
        <ウェブサイト>http://www.leapsoul.cn>
    >


    >
        <名前>
          <キーワード>
          <キーワード keyid='1'>PHP网站开発行>
          <キーワード keyid='2'>PHP 教程>
          <キーワード keyid='3'>PHP>
          >

          >SEO>
        >

    >

    <ウェブ情報>
        <名前>PHP网站开発行>
        <ウェブサイト>http://www.leapsoul.cn>
    >

>

Xpath 構文チュートリアル

/ は、XML ファイル

のルートノードから解析を開始することを意味します

// は、位置関係を考慮せずに、XML ファイル内の選択された現在のノードと一致することを意味します (SQL のあいまいクエリと同様)

. は現在のノード

を選択することを意味します

.. は、現在のノード

の親ノードを選択することを意味します

@ は、特定のノードまたは属性と一致することを意味します

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

1

$xml = simplexml_load_file('leapsoulcn.xml');

1

$xml

= simplexml_load_file('leapsoulcn.xml'

)

;

1
2
3

foreach($xml->xpath('LeapsoulInfo') as $value) {  
        print_r($value);
    }

手順: PHP SimpleXML を使用して、解析する必要がある XML ドキュメントをロードします。 SimpleXML はデフォルトで PHP5 でサポートされています。

XML Xpath を解析する PHP の例 1:

1
2
3

foreach

(

1
2
3

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

$xml

->

xpath('LeapsoulInfo'

)

as $value)

{


print_r

1
2
3

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

($value);
}

説明: この Xpath インスタンスでは、Xpath を通じて指定されたノードをクエリし、そのすべての子ノードを配列の形式で返し、PHP の print_r 関数を通じて最終的な配列構造を出力します。 PHP 解析 XML Xpath 例 2
1
2
3

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

説明: この Xpath インスタンスでは、Xpath パス式を通じて Xapth によってクエリされる必要がある特定のサブノードを指定し、このサブノードの要素を配列の形式で返します。 。 PHP 解析 XML Xpath の例 3
1
2
3

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

説明: この Xpath インスタンスでは、// は、Xpath を使用して XML ファイル内のすべての名前ノードの要素をクエリすることを示すために使用されます。前の Xpath インスタンスとの違いは、名前に位置が存在しないことです。関係。

PHP 解析 XML Xpath の例 4

1
2
3

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

1
2
3

foreach($xml->xpath('LeapsoulInfo//name') として $value) {
print_r($value);
}

説明

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

PHP 解析 XML Xpath 例 5

1
2
3

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

1
2
3

foreach($xml->xpath("//name/keywords/keyword[@keyid='1']") として $value) {
print_r($value);
}

説明

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


注意
: PHP Web サイト開発チュートリアル-leapsoul.cn 転載の際は、元のソースとこの記述をリンクの形で明記してください。

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