GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo extraer un solo atributo de un archivo Xml?

No estoy muy familiarizado con regex, sed, etc. y me da un poco de flojera descifrarlo en este momento, entonces, ¿cómo extraigo esta línea?:

<yweather:astronomy sunrise="6:50 am" sunset="7:06 pm"/>

Avíseme si se necesita más de la estructura xml.

Respuesta aceptada:

Dado que los datos de entrada (su archivo XML) están estructurados, es mejor que utilice una consulta sobre esos datos estructurados, en lugar de tratarlos como texto sin formato y jugar con expresiones regulares.

Podemos usar xmllint --xpath para evaluar una expresión XPath en su entrada xml:

$ xmllint --xpath 'string(rss/channel/*[local-name()="astronomy"]/@sunrise)' weather.xml
6:48 am

– esto es un poco complicado, ya que tenemos que lidiar con los diferentes espacios de nombres en ese archivo, pero funciona de todos modos.

Para obtener más información sobre XPath, la especificación se encuentra en http://www.w3.org/TR/xpath/


Ubuntu
  1. ¿Cómo leer una variable de un archivo?

  2. ¿Cómo cambiar el permiso en un solo archivo?

  3. ¿Cómo extraigo una sola porción de bytes de un archivo?

  4. ¿Cómo RSYNC un solo archivo?

  5. ¿Cómo extraer un archivo .dmg en Linux?

Cómo extraer (descomprimir) el archivo Tar Gz

Cómo extraer (descomprimir) el archivo tar.xz

Cómo mostrar datos de un archivo de texto en Linux

Cómo extraer direcciones de correo electrónico de un archivo de texto en Linux

¿Cómo acceder a los archivos de Windows desde Ubuntu?

Cómo extraer un archivo RAR en Ubuntu