Как получить атрибуты XML с переполнением стека

Это мой XML-файл:

<device name=" name ">
<interface>
<ip > someip </ip>
</interface>
<display>
<name> \\.\DISPLAY1 ( 1920 X 1080 )</name>
</display>
<output>
<audio> Speakers (High Definition Audio </audio>
<audio> Digital Audio (S/PDIF) (High De </audio>
<audio> Digital Audio (S/PDIF) (High De </audio>
</output>

И это мой код PHP:

<body style="font-family: Arial">
<?php
$xml=simplexml_load_file("device.xml");
var_dump($xml);
$attr = $xml->device->attributes()->name;
?>
<div id="leftDiv">
<ul id="menu">
<li><?php echo $attr; ?></li>
</ul>
</div>
<div id="mainDiv">

</div>
<div id="rightDiv">

</div>

Я хочу получить атрибут имени устройства и получить его значение, но всегда получаю сообщение об ошибке: main (): Узел больше не существует в C: \ xampp \ htdocs \ Project \ index.php в строке 30. Строка 30 — это строка: $ attr = $ xml-> device-> attribute () -> name; В чем дело?

-1

Решение

код php файла

Удалить device от $xml->device->attributes()->name;

<body style="font-family: Arial">
<?php
$xml=simplexml_load_file("device.xml");
var_dump($xml);
$attr = $xml->attributes()->name;
?>
<div id="leftDiv">
<ul id="menu">
<li><?php echo $attr; ?></li>
</ul>
</div>
<div id="mainDiv">

</div>
<div id="rightDiv">

</div>

XML-файл

отсутствует </device> в конец файла, так что положите его

<device name=" name ">
<interface>
<ip > someip </ip>
</interface>
<display>
<name> \\.\DISPLAY1 ( 1920 X 1080 )</name>
</display>
<output>
<audio> Speakers (High Definition Audio </audio>
<audio> Digital Audio (S/PDIF) (High De </audio>
<audio> Digital Audio (S/PDIF) (High De </audio>
</output>
</device>
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector