ホームページ >バックエンド開発 >PHPチュートリアル >PHPはXMLドキュメントを解析します

PHPはXMLドキュメントを解析します

WBOY
WBOYオリジナル
2016-06-23 14:39:05983ブラウズ

77e1884b92cd54f98b39917b5b43919f
59c08d01b4d9b504814f70863f81f233/ステータス>
bacd3a3778db2e60da4a8a6b81763052 t;2013- 12 -01 23:4291be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1東莞会社へ送信6d04af7aa1cc3096ed7e7b950e1ecf7f
46dd80ba616c57a652514755c74c4211 :35 ;2013-12-02 01:3546dd80ba616c57a652514755c74c4211
af16c4db277e0498b5fa9e30613367f1東莞会社から成都流通センターに送信6d04af7aa1cc3096ed7e7b950e1ecf7f time>2013- 12-03 18:4191be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1 スキャナは成都流通センターに到着しました。前の停留所は東莞会社です。6d04af7aa1cc3096ed7e7b950e1ecf7f 5083cbefc9e5095dae6431462e2af98846dd80ba616c57a652514755c74c42112013-12-03 20:2791be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1成都物流センター (0818-2660770) から達州に送信6c428348923feb072ce4b3ba8c874ad3 ;item>

スキャナーは 81800 です。前の停留所は成都流通センターです。 /context>
6d04af7aa1cc3096ed7e7b950e1ecf7f
46dd80ba616c57a652514755c74c42112013-12-04 13:2491be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1大州 (0818-6259) 812 、 15908382116)6c428348923feb072ce4b3ba8c874ad3
ダージョウ(0818-2660770)6c428348923feb072ce4b3ba8c874ad3
5083cbefc9e5095dae6431462e2af988 2013-12-04 16:32& lt; /time>
af16c4db277e0498b5fa9e30613367f1 15908382116 の配達員です

46dd80ba616c57a652514755c74c4211 2-04 16 :3391be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1 (0818-6259812、15908382116) 倉庫スキャン中6d04af7aa1cc3096ed7e7b950e1ecf7f
46dd80ba616c57a652514755c74c4211 2-06 12: 4391be1970faf1a1e6511e94af3a0f5b95
af16c4db277e0498b5fa9e30613367f1署名者は私です6d04af7aa1cc3096ed7e7b950e1ecf7f
ab9f710e8a95de8822eb06cf01adf4e6いいえ>
fd6d998346a64be636a2ff76b109aa1c デイリーエクスプレス 957b7051ba6ec87e25f470ff86304742
0fa35780197d8cf3046692f2b9b0b6e9
62aecd17e676a41d3547c3bf97bb07b01e508d9ebd6e1154da98407ebec4b9dc ;
295c6418b50ac356a63b2eb3e73fe412ASCa27a01e8c680b0a36fd5bd76e909a4d0

XML 形式で、アイテムの内容をループで出力したいと考えています。


ディスカッションへの返信 (解決策)

header('Content-type: text/html;charset=utf-8');$s =<<< XML<?xml version='1.0' encoding="utf-8"?> <response><status>3</status><message/><errCode>0</errCode><data><item><time>2013-12-01 23:42</time><context>由东莞沙田一分部发往东莞公司</context></item><item><time>2013-12-02 00:35</time><context>快件已到达东莞公司扫描员是李月文上一站是东莞沙田一分部</context></item><item><time>2013-12-02 01:35</time><context>由东莞公司发往成都分拨中心</context></item><item><time>2013-12-03 18:41</time><context>快件已到达成都分拨中心扫描员是李汉兵上一站是东莞公司</context></item><item><time>2013-12-03 20:27</time><context>由成都分拨中心发往达州(0818-2660770)</context></item><item><time>2013-12-04 12:58</time><context>快件已到达达州(0818-2660770)扫描员是81800上一站是成都分拨中心</context></item><item><time>2013-12-04 13:24</time><context>由达州(0818-2660770)发往大竹(0818-6259812,15908382116)</context></item><item><time>2013-12-04 16:32</time><context>快件已到达大竹(0818-6259812,15908382116)扫描员是81801上一站是达州(0818-2660770)</context></item><item><time>2013-12-04 16:32</time><context>大竹(0818-6259812,15908382116)的派件员88号正在派件</context></item><item><time>2013-12-04 16:33</time><context>大竹(0818-6259812,15908382116)正在进行货件留仓扫描</context></item><item><time>2013-12-06 12:43</time><context>已签收,签收人是本人</context></item></data><html/><mailNo>580038002019</mailNo><expTextName>天天快递</expTextName><expSpellName>tiantian</expSpellName><update>1386399373</update><cache>4373</cache><ord>ASC</ord></response>XML;$xml = simplexml_load_string($s);foreach($xml->xpath('//item') as $item) {  echo $item->time, ' ', $item->context, PHP_EOL;} 
2013-12-01 23:42 東莞沙田支店 1 から東莞会社に送信されました
2013-12-02 00:35 特急が東莞会社に到着しました スキャナーは Li です。越文。前の停留所です。東莞沙田支店です
2013-12-02 01:35 東莞会社から成都流通センターに送信されました
2013-12-03 18:41 特急が成都流通センターに到着しました スキャナーは李漢兵です。前回の停留所は東莞会社でした
2013-12-03 20:27 成都物流センターから達州 (0818-2660770) へ送信
2013-12-04 12:58 特急が達州 (0818-2660770) に到着しました。前の停留所は成都支店でした センターにダイヤルしてください
2013-12-04 13:24 大州 (0818-2660770) から大珠 (0818-6259812、15908382116) に送信
2013-12-04 16:32 特急は大竹に到着しました (0818-6259812、15908382 116)スキャナー 81801です。最後の停留所は大州 (0818-2660770) でした
2013-12-04 16:32 大竹 (0818-6259812、15908382116) の配達員です。 88荷物を配達中です
2013-12-04 16:33 Dazhu (0818 -6259812、15908382116) 貨物は保管のためにスキャン中です
2013-12-06 12:43 受領書に署名しました、署名者は私です

header('Content-type: text/html;charset=utf-8');$s =<<< XML<?xml version='1.0' encoding="utf-8"?> <response><status>3</status><message/><errCode>0</errCode><data><item><time>2013-12-01 23:42</time><context>由东莞沙田一分部发往东莞公司</context></item><item><time>2013-12-02 00:35</time><context>快件已到达东莞公司扫描员是李月文上一站是东莞沙田一分部</context></item><item><time>2013-12-02 01:35</time><context>由东莞公司发往成都分拨中心</context></item><item><time>2013-12-03 18:41</time><context>快件已到达成都分拨中心扫描员是李汉兵上一站是东莞公司</context></item><item><time>2013-12-03 20:27</time><context>由成都分拨中心发往达州(0818-2660770)</context></item><item><time>2013-12-04 12:58</time><context>快件已到达达州(0818-2660770)扫描员是81800上一站是成都分拨中心</context></item><item><time>2013-12-04 13:24</time><context>由达州(0818-2660770)发往大竹(0818-6259812,15908382116)</context></item><item><time>2013-12-04 16:32</time><context>快件已到达大竹(0818-6259812,15908382116)扫描员是81801上一站是达州(0818-2660770)</context></item><item><time>2013-12-04 16:32</time><context>大竹(0818-6259812,15908382116)的派件员88号正在派件</context></item><item><time>2013-12-04 16:33</time><context>大竹(0818-6259812,15908382116)正在进行货件留仓扫描</context></item><item><time>2013-12-06 12:43</time><context>已签收,签收人是本人</context></item></data><html/><mailNo>580038002019</mailNo><expTextName>天天快递</expTextName><expSpellName>tiantian</expSpellName><update>1386399373</update><cache>4373</cache><ord>ASC</ord></response>XML;$xml = simplexml_load_string($s);foreach($xml->xpath('//item') as $item) {  echo $item->time, ' ', $item->context, PHP_EOL;} 
2013-12-01 23:42 東莞沙田支店 1 から東莞会社に送信されました
2013-12-02 00:35 特急は東莞会社に到着しました スキャナーは前の停留所は東莞沙田支店でした
2013 -12 -02 01:35 東莞会社から成都流通センターに送信されました
2013-12-03 18:41 特急が成都流通センターに到着しました スキャナーは李漢兵です
2013-12- 03 20:27 成都流通センターが達州 (0818-2660770) に送信します
2013-12-04 12:58 特急が達州 (0818-2660770) に到着しました。スキャナーは 81800 です。前の停留所は成都流通センターです
2013-12-04 13:24 大州 (0818-2660770) から大竹 (0818-6259812、15908382116) に送信
2013-12-04 16:32 特急が大竹 (0818-6259812、1590838211) に到着しました6) スキャナー前の停留所は大州 (08 18- 2660770) です
2013-12-04 16:32 大珠 (0818-6259812、15908382116) 配達員 88 番が商品を配達しています
2013-12-04 16:33 大珠 ( 0818-6259812、15908382116) は商品を配送しています 倉庫スキャン
2013-12-06 12:43 受領書に署名しました、署名者は私です


上記の XML はリンクの内容です。リンクして処理しますか?

simplexml_load_file(ファイル名)
simplexml_load_string(file_get_contents(ファイル名))

重要なのは、取得したドキュメントは純粋な XML ドキュメントである必要があり、他のコンテンツを含めることはできないということです
それ以外の場合は、文字列として扱う必要があります

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