Php 将特定节点搜索到xml文件中

Php 将特定节点搜索到xml文件中,php,html,xml,session,Php,Html,Xml,Session,我制作了这个xml文件来管理一些音频曲目信息 <releases> <track> <uid>betauser</uid> <artist>cianci</artist> <title>cianci</title> <year>2001</year> <label>duib</label> <cover>DSC_0115.jpg</co

我制作了这个xml文件来管理一些音频曲目信息

<releases>
<track>
<uid>betauser</uid>
<artist>cianci</artist>
<title>cianci</title>
<year>2001</year>
<label>duib</label>
<cover>DSC_0115.jpg</cover>
<aside>chitarra_peps</aside>
<bside>chitarra_peps</bside>
</track>
</releases>

它由用户更新,用户将使用表单输入有关曲目的所有信息。我需要搜索xml以向登录用户显示其插入的曲目,因此我希望使用$\u SESSION变量搜索xml文件并仅返回用户添加的节点。可以使用php吗?我将$\u会话信息存储到名为uid的字段中,因此每个用户的该值都不同。

您可以使用SimpleXml和Xpath查找具有指定uid的跟踪

$uid = 'betauser';

$xml = simplexml_load_string($str);
$track = $xml->xpath('//track[uid="'. $uid .'"]');
echo $track[0]->asXML();

当然您可以使用类似的方法读取XML文件。您可以循环遍历它,然后仅向用户显示包含与会话中的任何内容具有相同值的项example@splash58这是密码。。此解决方案在另一个管理xml编写的php页面中实现。下面是一个示例,您可以使用$newItem->appendChild$xml->createElement'uid',$\u POST['user\u id'];//我使用它将$\u会话数据写入xml。在提交表单时调用脚本的另一个页面中,我使用以下代码将$\u会话数据分配给表单字段:@rickdenhaan,你能给我举个例子吗?如果我将$uid变量设置为$\u会话,它将不再工作$uid=$\当然是会话['username']。只有它应该与生成xml时使用的值相同。是否只有具有betauser用户名的用户才能查看结果?这通常会影响脚本,或者它也适用于其他用户名?如果您在生成xml时,写入任何用户的uid,然后使用my xpath并为其提供相同的uid,您将收到该用户的轨迹,这一行是echo$track[0]->asXML;我想脚本会提取信息,对吗?我已经尝试了代码,效果很好,但是只显示了一个结果,并且我已经为同一个测试用户添加了更多条目。。知道怎么了吗?