dornc9470 2017-11-01 11:50
浏览 59
已采纳

如何使用PHP获取XML属性

This is my xml file:

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

And this is my PHP code:

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

I want to reach device's name attribute and get its value, but I always get an error: main(): Node no longer exists in C:\xampp\htdocs\Project\index.php on line 30. Line 30 is this line: $attr = $xml->device->attributes()->name; What's wrong?

  • 写回答

1条回答 默认 最新

  • dongxi1879 2017-11-01 11:58
    关注

    php file code

    remove device from $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 file

    missing </device> to end of file so put it

    <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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同