在PHP中查询SimpleXML结果
我在PHP中使用SimpleXml,它对我来说很好 最近,我在尝试获取特定节点时遇到了一个问题(我希望这是正确的术语) 下面是一个示例XML在PHP中查询SimpleXML结果,php,syntax,simplexml,Php,Syntax,Simplexml,我在PHP中使用SimpleXml,它对我来说很好 最近,我在尝试获取特定节点时遇到了一个问题(我希望这是正确的术语) 下面是一个示例XML <xml> <attribute> <item name="fun_level"> <value>Really Fun</value> </item> </attribute> </xml>
<xml>
<attribute>
<item name="fun_level">
<value>Really Fun</value>
</item>
</attribute>
</xml>
不幸的是,我想引用一个特定的项目,所以我尝试这样做,但不起作用:
$value = (string)$attribute->item["@name='fun_level'"]->value;
我假设我引用项的name属性时语法有问题。我应该使用圆括号吗?准备好了吗?我需要用引号做些不同的事情吗
谢谢你的帮助 您需要使用该方法
您需要使用该方法
我的描述可能有些混乱。我已经在使用SimpleXml解析XML并提取不同的属性元素。我有一个“foreach($sxe->attributeas$attribute)”,我已经在循环(使用您的sxe变量)。如果不再次使用“xpath”,就不可能完成我要求的操作?我的描述可能有点混乱。我已经在使用SimpleXml解析XML并提取不同的属性元素。我有一个“foreach($sxe->attributeas$attribute)”,我已经在循环(使用您的sxe变量)。如果不再次使用“xpath”,就不可能完成我要做的事情?根据A.Sterling的第一个答案,我应该提到,我已经在使用SimpleXML和xpath来提取属性(有很多)并循环它们。这是我正在处理的一个嵌套循环问题。根据a.Sterling的第一个答案,我应该提到,我已经在使用SimpleXML和xpath提取属性(有很多)并循环它们。这是我正在处理的一个嵌套循环问题。
$value = (string)$attribute->item["@name='fun_level'"]->value;
<?php
error_reporting(-1);
ini_set('display_errors', true);
$xml = '<xml>
<attribute>
<item name="fun_level">
<value>Really Fun</value>
</item>
</attribute>
</xml>';
$sxe = new SimpleXMLElement($xml);
foreach($sxe->xpath('//item[@name="fun_level"]') as $item){
echo $item->value;
}