La función XMLReader::getAttributeNs() es una función incorporada en PHP que se usa para obtener el valor de un atributo por nombre y URI de espacio de nombres o una string vacía si el atributo no existe o no está posicionado en un Node de elemento.
Sintaxis:
string XMLReader::getAttributeNs( string $localName, string $namespaceURI )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $localName: Especifica el nombre local.
- $namespaceURI: Especifica la URI del espacio de nombres.
Valor devuelto: esta función devuelve el valor del atributo en caso de éxito o una string vacía en caso de error.
Los siguientes ejemplos ilustran la función XMLReader::getAttributeNs() en PHP:
Ejemplo 1:
- datos.xml
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
div
xmlns:x
=
"geeksforgeeks"
>
<
x:h1
x:attrib
=
"value"
>
Namespaced Text
</
x:h1
>
</
div
>
- índice.php
<?php
// Create a new XMLReader instance
$XMLReader
=
new
XMLReader();
// Load the XML file
$XMLReader
->open(
'data.xml'
);
// Move to next node three times
$XMLReader
->read();
$XMLReader
->read();
$XMLReader
->read();
// Get the value of attribute but
// give a wrong namespace here
$value
=
$XMLReader
->getAttributeNs(
"attrib"
,
"wrong_namespace"
);
// Output the value to browser
echo
$value
.
"<br>"
;
?>
- Producción:
// Empty string because namespace name doesn't match
Ejemplo 2:
- datos.xml
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
div
xmlns:x
=
"my_namespace"
>
<
x:h1
x:attrib
=
"value"
>
Namespaced Text
</
x:h1
>
</
div
>
- índice.php
<?php
// Create a new XMLReader instance
$XMLReader
=
new
XMLReader();
// Load the XML file
$XMLReader
->open(
'data.xml'
);
// Iterate through the XML
while
(
$XMLReader
->read()) {
if
(
$XMLReader
->nodeType == XMLREADER::ELEMENT) {
// Get the value of attribute with name "attrib"
// and namespace "my_namespace"
$value
=
$XMLReader
->
getAttributeNs(
"attrib"
,
"my_namespace"
);
// Output the value to browser
echo
$value
.
"<br>"
;
}
}
?>
- Producción:
value
Referencia: https://www.php.net/manual/en/xmlreader.getattributens.php