leer - php domdocument setattribute
PHP: DOMDocument-atributos con dos puntos en él? (2)
Respuesta del comentario de OP, nodeName
from DOMNode .
$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
foreach($childnode->attributes as $attribute) {
echo $attribute->nodeName."/n";
}
}
Respuesta Original:
¿Qué tal el prefix
de DOMNode ?
$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
foreach($childnode->attributes as $attribute) {
echo $attribute->prefix.":".$attribute->name."/n";
}
}
Estoy usando DOMDocument para analizar un XML (SVG).
Algunos nodos tienen atributos con dos puntos, como:
<svg
id="svg2"
width="1000"
height="1000"
sodipodi:version="0.32"
inkscape:version="0.48.1 "
...
>
Pero cuando lo hago :
$node= DOMDocument->documentElement;
foreach($node->childNodes as $key=>$childnode) {
foreach($childnode->attributes as $attribute) {
echo $attribute->name."/n";
}
}
los atributos con a: se imprimen sin la primera parte (espacio de nombres)
¿Cómo obtengo el espacio de nombre para ese atributo al iterar a través de los atributos como este?
Tendrá que trabajar explícitamente con espacios de nombres (que es lo que indican los dos puntos) cuando use DOMDocument
.
Eche un vistazo a este método: http://www.php.net/manual/en/domelement.getattributenodens.php