Home >Backend Development >PHP Tutorial >php 解析Xml文档

php 解析Xml文档

WBOY
WBOYOriginal
2016-06-23 14:39:05980browse


3

0



由东莞沙田一分部发往东莞公司



快件已到达东莞公司扫描员是李月文上一站是东莞沙田一分部

time>2013-12-02 01:35
由东莞公司发往成都分拨中心



快件已到达成都分拨中心扫描员是李汉兵上一站是东莞公司

由成都分拨中心发往达州(0818-2660770)



快件已到达达州(0818-2660770)扫描员是81800上一站是成都分拨中心



由达州(0818-2660770)发往大竹(0818-6259812,15908382116)

快件已到达大竹(0818-6259812,15908382116)扫描员是81801上一站是达州(0818-2660770)



大竹(0818-6259812,15908382116)的派件员88号正在派件



大竹(0818-6259812,15908382116)正在进行货件留仓扫描



已签收,签收人是本人



580038002019
天天快递
tiantian
1386399373
4373
ASC


XML格式,希望循环输出item里面的内容!


回复讨论(解决方案)

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 由东莞沙田一分部发往东莞公司
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,15908382116)扫描员是81801上一站是达州(0818-2660770)
2013-12-04 16:32 大竹(0818-6259812,15908382116)的派件员88号正在派件
2013-12-04 16:33 大竹(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 由东莞沙田一分部发往东莞公司
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,15908382116)扫描员是81801上一站是达州(0818-2660770)
2013-12-04 16:32 大竹(0818-6259812,15908382116)的派件员88号正在派件
2013-12-04 16:33 大竹(0818-6259812,15908382116)正在进行货件留仓扫描
2013-12-06 12:43 已签收,签收人是本人


我上面的xml是一个链接内的内容,我怎么得取链接内的xml,并做处理?

simplexml_load_file(文件名)
simplexml_load_string(file_get_contents(文件名))

关键在于取到的必须是纯xml文档,不能含有其他内容
否则要当做字符串处理一下

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn