使用SimpleXML for PHP获取属性值

使用SimpleXML for PHP获取属性值,php,xml,simplexml,Php,Xml,Simplexml,我使用SimpleXMLElement类处理项目中的xml文件 我的问题是:如何获得具有某个属性的某个标记的属性值?您可以假设我知道标记的名称、属性的名称以及它在xml文件中的位置。例如,对于这样一个字符串知道值'someTag'和'cp',我想获得字符串“c2” 感谢是advance。您可以使用节点上的attributes()函数获取其属性: $xml_str = '<xml> <node> <someTag cp="c2">cont

我使用SimpleXMLElement类处理项目中的xml文件

我的问题是:如何获得具有某个属性的某个标记的属性值?您可以假设我知道标记的名称、属性的名称以及它在xml文件中的位置。例如,对于这样一个字符串
知道值'someTag'和'cp',我想获得字符串“c2”


感谢是advance。

您可以使用节点上的
attributes()
函数获取其属性:

$xml_str = '<xml>
    <node>
        <someTag cp="c2">content</someTag>
    </node>
</xml>';
$res = simplexml_load_string($xml_str);

$items = $res->xpath("//someTag");
var_dump((string) $items[0]->attributes()->cp);
$xml\u str='1〕
内容
';
$res=simplexml\u load\u字符串($xml\u str);
$items=$res->xpath(“//someTag”);
变量转储((字符串)$items[0]->attributes()->cp);

返回的元素是一个
simplexmlement
,因此为了使用它,我将其转换为字符串(使用
(string)
强制转换)。

是的,它可以工作!谢谢)对于大多数用例来说,这是不必要的复杂。简单的版本是
var_dump((string)$res->someTag['cp'])
Oops,对不起,误读了示例;它将是
$res->node->someTag['cp']
。我希望你明白了。这本手册有一些不错的地方,包括访问基本属性。