simplexml_load_string потерять данные - PullRequest
1 голос
/ 28 ноября 2011

В настоящее время я использую file_get_contents , чтобы получить XML.Это работает хорошо, и когда я отображаю xml с правильным заголовком MIME type ('Content-type: text / 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 возвращенного объекта, я не вижу атрибута формулы, я просто вижу что-то вроде этого:

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
            )
         )
    )
)

Iхочу получить атрибуты формулы, я уже проверил это, следуя этому учебнику безуспешно.

1 Ответ

2 голосов
/ 28 ноября 2011

Вам необходимо использовать SimpleXMLElement::attributes как:

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

Посмотреть

...