从php中的xml文档中获取一个值

时间:2011-09-01 22:30:40

标签: php xml

我有一个包含xml代码的php变量。我想从该xml中只获取一个值并继续。

xml是:

<?xml version="1.0" encoding="UTF-8" ?> <response> <status>SUCCESS</status> <data><count>1</count> <subscriberlist>     <item>          <subscriberid>4</subscriberid>          <emailaddress>bbbbbb@bbbbbb.bb</emailaddress>         <format>h</format>          <subscribedate>1314903006</subscribedate>          <confirmed>1</confirmed>          <unsubscribed>0</unsubscribed>          <bounced>0</bounced>          <listid>3</listid>     </item> </subscriberlist></data></response> 

我想创建var $ subscriberid并获取值(在本例中为4)

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:2)

php.net上的这个doc会告诉你如何:http://php.net/manual/en/simplexml.examples-basic.php

对于以下xml:

<?xml version="1.0" encoding="UTF-8" ?>
<response>
   <status>SUCCESS</status>
   <data>
      <count>1</count>
      <subscriberlist>
         <item>
            <subscriberid>4</subscriberid>
            <emailaddress>bbbbbb@bbbbbb.bb</emailaddress>
            <format>h</format>
            <subscribedate>1314903006</subscribedate>
            <confirmed>1</confirmed>
            <unsubscribed>0</unsubscribed>
            <bounced>0</bounced>
            <listid>3</listid>
         </item>
      </subscriberlist>
   </data>
</response> 

如果xml在$xmlstr内,那么要获取subscriberid,你需要以下php代码:

<?php
$xml = new SimpleXMLElement($xmlstr);
$subscriberid = $xml->data->subscriberlist->item->subscriberid;
?>

答案 1 :(得分:1)

您可以使用simplexml_load_string然后解析数据

<?php

    $xml = simplexml_load_string('<?xml vers...');

    $subscriberid = $xml->data->subscriberlist->item->subscriberid;

?>