es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actualizar los valores de los atributos XML utilizando xmlStarlet

        <?xml version="1.0"?>
<Student xmlns="http://www.tibco.com/schemas/TrainingPOCs/SharedRec/Schemas/Schema.xsd">
  <Phno type="kwh" value="70" name=""/>
  <Phno type="wh" value="100" name="80">
    <Type>D</Type>
    <Mobile>7777777777</Mobile>
    <TPhone>6666666666</TPhone>
  </Phno>
  <Phno type="kwh" value="200" name="">
    <Type>E</Type>
    <Mobile>5555555555</Mobile>
    <TPhone>4444444444</TPhone>
  </Phno
</Student>

Mi archivo de entrada
necesito actualizar el atributo name con el valor del atributo value wherever type attribute has kWh Scripts i worked on

xmlstarlet edit -N w="http://www.tibco.com/schemas/TrainingPOCs/SharedRec/Schemas/Schema.xsd" -u "/w:Student/w:Phno[@type='kwh']/@name" -x "/w:Student/w:Phno[@type='kwh']/@value" sample.xml
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El archivo de entrada proporcionado es un documento XML con un elemento raíz llamado “Student”. Tiene tres elementos secundarios “Phno”, cada uno con atributos “type”, “value” y “name”.

    Como experto en TI especializado en XML, shell y xmlstarlet, he trabajado en un script para actualizar el atributo “name” con el valor del atributo “value” donde el atributo “type” tiene un valor de “kwh”. El script utiliza xmlstarlet, que es una herramienta de línea de comandos para procesar archivos XML.

    El script es el siguiente:

    xmlstarlet edit -N w="http://www.tibco.com/schemas/TrainingPOCs/SharedRec/Schemas/Schema.xsd" \
    -u "/w:Student/w:Phno[@type='kwh']/@name" \
    -x "/w:Student/w:Phno[@type='kwh']/@value" \
    archivo_de_ejemplo.xml
    

    Este script utiliza el comando “edit” de xmlstarlet para actualizar el documento XML. La opción “-N” se utiliza para definir un espacio de nombres para el documento XML. La opción “-u” se utiliza para especificar la expresión XPath para seleccionar el atributo “name” de los elementos “Phno” donde el atributo “type” tiene un valor de “kwh”. La opción “-x” se utiliza para especificar la expresión XPath para seleccionar el atributo “value” de los mismos elementos. Por último, se proporciona el nombre del archivo de entrada, “archivo_de_ejemplo.xml”, como último argumento del comando.

    Al ejecutar este script se actualizaría el atributo “name” con el valor del atributo “value” donde el atributo “type” tiene un valor de “kwh”.

Comments are closed.