Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中查询SimpleXML结果_Php_Syntax_Simplexml - Fatal编程技术网

在PHP中查询SimpleXML结果

在PHP中查询SimpleXML结果,php,syntax,simplexml,Php,Syntax,Simplexml,我在PHP中使用SimpleXml,它对我来说很好 最近,我在尝试获取特定节点时遇到了一个问题(我希望这是正确的术语) 下面是一个示例XML <xml> <attribute> <item name="fun_level"> <value>Really Fun</value> </item> </attribute> </xml>

我在PHP中使用SimpleXml,它对我来说很好

最近,我在尝试获取特定节点时遇到了一个问题(我希望这是正确的术语)

下面是一个示例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;
}