simplexml_load_string松散的数据

时间:2011-11-28 10:47:37

标签: php xml simplexml

我目前正在使用 file_get_contents 来获取xml。 它运行良好,当我使用正确的MIME类型标题('Content-type:text / xml')显示xml时,我得到类似这样的内容:

<?xml version="1.0" encoding="iso-8859-1" ?>
<tarification compagnie="banane" cle="laclef">
  <gamme reference="equilibre-sante">
    <tarif formule="f100">Xx.xx</tarif>
    <tarif formule="f200">Xx.xx</tarif>
  </gamme>
</tarification>

要将它用作对象,我使用 simplexml_load_string ,但当我 print_r 返回的对象时,我没有看到formule属性,我只看到这样的内容:

SimpleXMLElement Object
(
  [@attributes] => Array
    (
      [compagnie] => banane
      [cle] => laclef
    )

  [gamme] => Array
    (
      [0] => SimpleXMLElement Object
        (
          [@attributes] => Array
            (
              [reference] => equilibre-sante
            )
          [tarif] => Array
            (
              [0] => Xx.xx
              [1] => Xx.xx
            )
         )
    )
)

我想获得formule属性,我已经测试过这样做tutorial没有成功。

1 个答案:

答案 0 :(得分:2)

您需要使用SimpleXMLElement::attributes作为:

$xml = simplexml_load_string($xmlstring);    
foreach($xml->gamme->tarif as $tarif) {
        foreach($tarif->attributes() as $a => $b) {
                echo $a,'="',$b,"\"\n";
        }
}

See it