Как получить значение атрибута от XML-файла в PHP?

Существует много возможных способов сделать это, но иметь Google для tkprof

нет никакого GUI..., это - совершенно командная строка и возможно касание, пугающее для новичков Oracle; но это очень мощно.

Эта ссылка похожа на хорошее начало:

http://www.oracleutilities.com/OSUtil/tkprof.html

19
задан Lenin Raj Rajasekaran 28 February 2011 в 07:22
поделиться

2 ответа

Вы сможете получить это с помощью SimpleXMLElement :: attributes ()

Попробуйте следующее:

$xml=simplexml_load_file($file);
foreach($xml->Var[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}

Это покажет вам все атрибуты имени / значения для первого элемент foo . Это ассоциативный массив, так что вы тоже можете это сделать:

$attr = $xml->Var[0]->attributes();
echo $attr['VarNum'];
24
ответ дан 30 November 2019 в 03:25
поделиться

А как насчет использования $ xml ['VarNum'] ?

Вот так:

$str = <<<XML
<VAR VarNum="90">
  <option>1</option>
</VAR>
XML;

$xml=simplexml_load_string($str);
$option=$xml->option;

var_dump((string)$xml['VarNum']);

(Я использовал simplexml_load_string , потому что я вставили ваш XML в строку вместо того, чтобы создавать файл; то, что вы делаете с simplexml_load_file , в вашем случае нормально!)

Вы получите

string '90' (length=2)

С simpleXML вы получаете доступ к атрибутам с синтаксисом массива.
И вы должны привести к строке, чтобы получить значение, а не и экземпляр SimpleXMLElement

Например, см. пример № 5 из Основное использование в руководстве: -)

14
ответ дан 30 November 2019 в 03:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: