如何在PHP中轻松访问XML节点的信息
我用PHP读入一个XML文件,并将其分配给一个变量如何在PHP中轻松访问XML节点的信息,php,xml,xpath,Php,Xml,Xpath,我用PHP读入一个XML文件,并将其分配给一个变量$XML: $Xml=simplexml\u加载文件(“TaskSequences.Xml”); XML文件如下所示: 序列1 包装1 如何处理这个问题 包装2 布拉布拉 我的代码中有以下变量/信息: SequenceName:“Sequence1” PackageName:程序包1“ 基于此,我想访问节点“TargetInfo”中的相应信息。 对于上面的例子,结果应该是“HowToAccessThis” 是否需要循环?最简单的方法是什么
$XML
:
$Xml=simplexml\u加载文件(“TaskSequences.Xml”);
XML文件如下所示:
序列1
包装1
如何处理这个问题
包装2
布拉布拉
我的代码中有以下变量/信息:SequenceName:“Sequence1”
PackageName:程序包1“ 基于此,我想访问节点“TargetInfo”中的相应信息。 对于上面的例子,结果应该是“HowToAccessThis” 是否需要循环?最简单的方法是什么
谢谢大家! 在使用XML时,有必要了解一下XPath,因为它可以为您执行大量工作 此代码使用
//Sequence[SequenceName=“Sequence1”]//PackageName=“Package1”]/TargetInfo
查找您要查找的数据,这将分解为
- //序列-文档中的任何
元素 - [SequenceName=“Sequence1”]-匹配一个 文本为Sequence1
- //包-在任何
元素中 - [PackageName=“Package1”]-其中有一个
元素whos 文本是Package1 - /TargetInfo-然后获取
元素
$SequenceName = "Sequence1";
$PackageName = "Package1";
echo $Xml->xpath('//Sequence[SequenceName="'.$SequenceName.'"]//Package[PackageName="'.$PackageName.'"]/TargetInfo')[0];
根据你的测试数据
HowToAccessThis