从PHP文件URL获取XML数据

时间:2014-08-27 12:39:07

标签: php xml

我想用php

从我的xml文件中获取数据

我的xml文件是:

<cws-status-resp ver="1.0">

  <proxy-users count="1" login-failures="1">

    <user name="0d03b2451232c" display-name="0d03b2451232c" sessions="1">

      <session host="197.200.9.251" id="2028566" count="1/1" active="true" profile="*" client-id="Mgcamd" protocol="ExtNewcamd" context="UserID [2] CaID [0000] Providers [1] [00 00 00] Anonymous [Yes]" connected="Wed, 27 Aug 2014 11:59:35 +0100" duration="43m 51s" ecm-count="331" emm-count="0" pending-count="0" keepalive-count="3" last-transaction="619" last-zap="36m 32s" idle-time="1s" flags="C" avg-ecm-interval="9">
        <service id="6515" cdata="1973:003311" name="NatGeo Wild HD France" profile="secahd" />
      </session>

    </user>

  </proxy-users>

</cws-status-resp>

我只需回应这个名字=&#34; NatGeo Wild HD France&#34;来自我的xml

感谢答案

2 个答案:

答案 0 :(得分:1)

由于您似乎每个XML项目只有一个<service>,只需

//$xml contains the XML mentioned in OP
$dom = new DOMDocument();
$dom->loadXML($xml);

echo $dom->getElementsByTagName('service')->item(0)->getAttribute('name');

输出

  

NatGeo Wild HD France

答案 1 :(得分:0)

因为您只有一个服务节点,所以您可以这样做:     

$XmlFile=simplexml_load_file("RightYourPathHere");

echo $XmlFile->csw-status-resp->proxy-users->session->service['name'];

?>

如果您有多个服务节点,则可以执行此操作:

foreach($XmlFile->csw-status-resp->proxy-users->session->service as $Service){

echo $Service['name'];

}