"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agregar un atributo a todas las etiquetas XML utilizando extensiones XML Regex o PHP?

¿Cómo agregar un atributo a todas las etiquetas XML utilizando extensiones XML Regex o PHP?

Publicado el 2024-11-22
Navegar:424

How to Add an Attribute to All XML Tags Using Regex or PHP XML Extensions?

Regexp para agregar atributos en cualquier etiqueta XML

Pregunta:

¿Cómo se puede usar preg_replace para agregar un atributo específico? ¿A todas las etiquetas XML en un documento XML bien formado almacenado como una variable de cadena? Por ejemplo, desea modificar el siguiente XML:


 some text 

a:


 some text 

Respuesta:

Si bien es tentador utilizar expresiones regulares para esta tarea, no es recomendable. XML no es un lenguaje normal e intentar utilizar expresiones regulares en él puede generar resultados inesperados. En su lugar, recomendamos utilizar las extensiones XML de PHP:

$xml = new SimpleXml(file_get_contents($xmlFile));

function process_recursive($xmlNode)
{
    $xmlNode->addAttribute('attr', 'myAttr');

    foreach ($xmlNode->children() as $childNode)
    {
        process_recursive($childNode);
    }
}

process_recursive($xml);

echo $xml->asXML();

Este método garantiza que todas las etiquetas XML se modifiquen correctamente, evitando los peligros potenciales del uso de expresiones regulares en XML.

Declaración de liberación Este artículo se reproduce en: 1729411576 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3