【问题标题】:Get an attribute value using SimpleXML for PHP [duplicate]使用 SimpleXML for PHP 获取属性值 [重复]
【发布时间】:2017-03-14 19:31:35
【问题描述】:

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

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

先谢谢了。

【问题讨论】:

标签: php xml simplexml


【解决方案1】:

您可以在节点上使用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);

返回的元素是SimpleXMLElement,所以为了使用它,我将它转换为字符串(使用(string) 演员表)。

【讨论】:

  • 是的,它有效!谢谢)
  • 这对于大多数用例来说是不必要的复杂。简单版是var_dump((string) $res-&gt;someTag['cp'])
  • 糟糕,抱歉,误读了示例;应该是$res-&gt;node-&gt;someTag['cp']。我希望你明白了。
猜你喜欢
  • 1970-01-01
  • 2018-08-04
  • 2012-05-19
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
相关资源
最近更新 更多