php - 有没有办法获取 DOMElement 的所有属性?

标签 php xml dom domdocument

我正在使用 PHP 读取一些 XML,目前正在使用 DOMDocument 类来执行此操作。我需要一种方法来获取标签(DOMElement 的实例)属性的名称和值,而无需事先知道它们是什么。 documentation似乎没有提供这样的东西。我知道,如果我知道属性的名称,我就可以获得该属性的值,但同样,我不知道其中任何一个,因此需要同时找到这两个属性。

我也知道 SimpleXMLElement 等其他类具有此功能,但我对如何使用 DOMDocument 完成此功能很感兴趣。

最佳答案

如果您想获取属性名称和属性值(不是属性节点),您必须调用 DOMNode 对象的 $attrNode->nodeValue 属性。

$attributes = array();

foreach($element->attributes as $attribute_name => $attribute_node)
{
  /** @var  DOMNode    $attribute_node */
  $attributes[$attribute_name] = $attribute_node->nodeValue;
}

关于php - 有没有办法获取 DOMElement 的所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1338692/

相关文章:

php - 为什么我的所有文件都没有缓存 apc 操作码?

c - 检索节点原始字符串

Python 通过 xml 抓取打印空括号

c# - 如何从 C# 中的 plist (xml) 中读取键值

php - float 问题! (在 PHP 中)

php - 如何将 css 样式应用于 codeigniter 下拉列表?

php - 每分钟通过 CRON 发送电子邮件 - 我的方法可以改进吗?

javascript - textContent 工作但 nodeValue 不工作

javascript - javascript window.location 是跨浏览器吗?

javascript - 通过javascript获取当前元素下一级的元素