doukanwa6872 2012-09-11 08:19
浏览 31
已采纳

如何使用PHP在XML中搜索某些名称

I want to be able to go trough the each of the nodes in XML and when I find a certain username I want to read all the data from that node.

For example:

<Users>
   <User>
      <Username>admin</Username>
      <Server>10.x.x.x</Server>
   </User>
   <User>
      <Username>test</Username>
      <Server>11.x.x.x</Server>
   </User>
</Users>

I need to be able to find Username=admin and then get the Server from the same node. I will be using a PHP and you can make example with saving in any two variables.

  • 写回答

3条回答 默认 最新

  • du1068 2012-09-11 08:50
    关注

    Using Xpath and DomDocument , something like this should do the trick :

    $doc = new DOMDocument;
    $doc->loadXML($xml); // Your xml string
    $xpath = new DOMXpath($doc);
    
    $query = '//Users/User/Username[. = "admin"]'; // Looking for user admin
    $entries = $xpath->query($query);
    
    foreach ($entries as $entry) {
        //Getting the "server" node value for "admin" user
        echo $entry->nextSibling->nextSibling->nodeValue; // Display 10.x.x.x
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,