Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP对XML进行过滤和排序_Php_Mysql_Xml_Simplexml - Fatal编程技术网

用PHP对XML进行过滤和排序

用PHP对XML进行过滤和排序,php,mysql,xml,simplexml,Php,Mysql,Xml,Simplexml,我正试图找到一种在XML文件中过滤结果的方法,就像我通常使用MySQL和PHP一样 假设我的查询是“select ID,NAME from USERS order by ID ASC”,如果文件结构类似于: 1. 上下快速移动 非常感谢:)您可以使用 例子 鉴于此XML和PHP: $xml = <<< EOT <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <userlist>

我正试图找到一种在XML文件中过滤结果的方法,就像我通常使用MySQL和PHP一样

假设我的查询是“select ID,NAME from USERS order by ID ASC”,如果文件结构类似于:

1. 上下快速移动

非常感谢:)

您可以使用

例子 鉴于此XML和PHP:

$xml = <<< EOT
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<userlist>
  <users>
    <user>
      <id>1</id>
      <name>Bob</name>
    </user>
    <user>
      <id>2</id>
      <name>David</name>
    </user>
  </users>
</userlist>
EOT;

$x_obj = simplexml_load_string($xml);
  • 从id=2的用户中选择*

    $result = $x_obj->xpath('//user[id=2]');
    
    $result = $x_obj->xpath('//user[id=2]/name');
    
  • 从id=2的用户中选择名称

    $result = $x_obj->xpath('//user[id=2]');
    
    $result = $x_obj->xpath('//user[id=2]/name');
    
  • 从name='Bob'所在的用户中选择id

    $result = $x_obj->xpath('//user[name="Bob"]/id');
    
  • 结果将是一个简单的数组


    在codepad.org上直播(20:10 GMT+1:当前关闭):

    嘿,康弗里克,我该如何打印/回显这些数据?@Tim结果是一个简单的数组;)