PHP DomParser получает имя опции и значение из тега xml - PullRequest
2 голосов
/ 22 марта 2012


Я пытаюсь проанализировать XML-файл с помощью PHP.
Я использую этот код, и он хорошо работает для получения тэга и значения:

функция getChildNodes ($ dom, $ SearchKey) {

  foreach ($dom->getElementsByTagName($SearchKey) as $telefon) {
      foreach($telefon->childNodes as $node) {
          print_r(
          $SearchKey . " : " . $node->nodeValue . "\n"                
      );
  }

} }

пример xml рабочего фрагмента кода:

<inputs>
 <input>C:\Program Files\VideoLAN\VLC\airbag.mp3</input>
 <input>C:\Program Files\VideoLAN\VLC\sunpark.mp3</input>
 <input>C:\Program Files\VideoLAN\VLC\rapidarc.mp3</input>
</inputs>

пример xml не работающего фрагмента кода:

<instances>
 <instance name="default" state="playing" position="0.050015" time="9290569" length="186489519" rate="1.000000" title="0" chapter="0" can-seek="1" playlistindex="3"/>
</instances>

Может ли кто-нибудь помочь мне выяснить, какие опции мне нужно использовать для получения опции nameame и optionvalue?

все ответы приветствуются

1 Ответ

1 голос
/ 22 марта 2012

Вот пример кода для распечатки атрибутов XML:

<?php

$source = '<instances><instance name="default" state="playing" position="0.050015" time="9290569" length="186489519" rate="1.000000" title="0" chapter="0" can-seek="1" playlistindex="3"/></instances>';

$doc = new DOMDocument();
$doc->loadXML($source);

$el = $doc->firstChild->firstChild;

for ($i = 0; $i < $el->attributes->length; $i++) {
    $attr = $el->attributes->item($i);
    echo 'Name: '.$attr->name, "\n";
    echo 'Value: '.$attr->value, "\n";
}

Надеюсь, это поможет.

...