如何在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” 是否需要循环?最简单的方法是什么

我用PHP读入一个XML文件,并将其分配给一个变量
$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