I'm reading some XML with PHP and currently using the DOMDocument
class to do so. I need a way to grab the names and values of a tag's (instance of DOMElement
) attributes, without knowing beforehand what any of them are. The documentation doesn't seem to offer anything like this. I know that I can get an attribute's value if I have its name, but again, I don't know either of these and need to find both.
I also know that other classes like SimpleXMLElement
have this capability, but I'm interested in how it can be done with DOMDocument
.
If you want to get attribute name and attribute values (not the attributeNodes) you have to call the $attrNode->nodeValue property of the DOMNode object.
$attributes = array();
foreach($element->attributes as $attribute_name => $attribute_node)
{
/** @var DOMNode $attribute_node */
$attributes[$attribute_name] = $attribute_node->nodeValue;
}