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

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

WBOY
リリース: 2016-06-23 14:39:05
オリジナル
988 人が閲覧しました

<応答>
<ステータス>/ステータス>
<アイテム> t;2013- 12 -01 23:42
東莞会社へ送信
;2013-12-02 01:35
スキャナは成都流通センターに到着しました。前の停留所は東莞会社です。
成都物流センター (0818-2660770) から達州に送信 ;item>

スキャナーは 81800 です。前の停留所は成都流通センターです。 /context>


大州 (0818-6259) 812 、 15908382116)
ダージョウ(0818-2660770)

2013-12-04 16:32& lt; /time>
15908382116 の配達員です


(0818-6259812、15908382116) 倉庫スキャン中


署名者は私です

いいえ>
デイリーエクスプレス

;
ASC< ord>

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 ドキュメントである必要があり、他のコンテンツを含めることはできないということです
それ以外の場合は、文字列として扱う必要があります

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