使用PHP解析XML中的嵌套变量

使用PHP解析XML中的嵌套变量,php,xml,Php,Xml,我一直在玩XML和PHP,我在谷歌上搜索得到我正在处理的需求,但我仍然没有得到我想要的东西 我有一个带有嵌套变量的XML文件,我需要解析变量,如user_id、name,并将其存储在数组中,这样我就需要使用它们来更改另一个配置文件中的详细信息 例如:如果用户登录,使用user_id,我需要解析XML文件中特定用户的所有数据(其中存储了不同用户的详细信息) 到目前为止,我只能解析数据并回显所有数据,但找不到存储这些解析信息的方法 这是我的test.xml文件: <?xml version="

我一直在玩XML和PHP,我在谷歌上搜索得到我正在处理的需求,但我仍然没有得到我想要的东西

我有一个带有嵌套变量的XML文件,我需要解析变量,如user_id、name,并将其存储在数组中,这样我就需要使用它们来更改另一个配置文件中的详细信息

例如:如果用户登录,使用user_id,我需要解析XML文件中特定用户的所有数据(其中存储了不同用户的详细信息)

到目前为止,我只能解析数据并回显所有数据,但找不到存储这些解析信息的方法

这是我的test.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
    <user>
        <user_id>0121</user_id>
        <name>Tim</name>
        <file>0121.file</file>
    </user>

    <user>
        <user_id>0178</user_id>
        <name>Henry</name>
        <file>0178.file</file>
    </user>

    <user>
        <user_id>0786</user_id>
        <name>Martin</name>
        <file>0786.file</file>
    </user>

    <user>
        <user_id>1239</user_id>
        <name>Jan</name>
        <file>1239.file</file>
    </user>
</document>

0121
提姆
0121.1文件
0178
亨利
0178.0文件
0786
马丁
0786.0文件
1239
简
1239.0文件
任何有价值的信息都会非常有用

谢谢 Raaks使用


@Gordon,谢谢你的回复,但我正在寻找一种将解析信息存储到数组或变量中的方法,以便我可以使用这些信息更新另一个文件,而不是同一个XML文件或另一个XML文件。希望你能做到。嗨,索查,我听了你的建议,我得到了这个错误“警告:SimpleXMLElement::xpath()[SimpleXMLElement.xpath]:无效表达式”知道为什么会出现这个错误吗?是的,应该是一个=,而不是=。另外,$user在以后的调用中缺少索引。我更新了我的答案,现在应该可以了。嗨,索查,非常感谢你的快速帮助。需要说的是,在过去的半个小时里,我们一直在努力找出错误所在。无论如何,谢谢你更新代码。现在一切都很好
$xml = simplexml_load_file("test.xml");
$user = $xml->xpath("user[user_id = $my_user_id]");

$name = $user[0]->name;
$file = $user[0]->file;