使用 SimpleXML for PHP 获取属性值

Mir*_*lav -1 php xml simplexml

我在项目中使用 SimpleXMLElement 类来处理 xml 文件。

我的问题是:如何获取具有某些属性的某些标签的属性值?您可能会假设我知道标签的名称、属性的名称及其在 xml 文件中的位置。例如,对于这样一个<someTag cp="c2">知道值“someTag”和“cp”的字符串,我想获取字符串“c2”。

感谢是提前的。

Dek*_*kel 7

您可以在节点上使用该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);
Run Code Online (Sandbox Code Playgroud)

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