validate parse examples xmllint

parse - ¿Cómo hacer que Xmllint lea desde stdin?



xmllint xpath (1)

  • No quiero crear un archivo XML
  • Necesito usar el --shell con cat para crear filtros
  • No tengo xpath en mi versión de xmllint, usando libxml2-2.7.6-14.el6.x86_64

    xml|xmllint --shell - <<< $(echo ''cat /'')

    -:1: parser error : Start tag expected, ''<'' not found

EDIT: clustat -x genera un archivo XML y quiero analizar el nodo activo. No creo que haya una forma de hacerlo sin xpath, así que creé un archivo temporal de XML.

/usr/sbin/clustat -x > /tmp/clustat.xml ACTIVENODE=$(xmllint --shell /tmp/clustat.xml <<< `echo ''cat //group/@owner''`|grep -v "^/ >"|cut -d= -f2|tr -d /")


Tuve un problema similar en el que tuve que descomprimir un archivo XML y luego alimentarlo a xmllint . La clave es la opción "-" que le dice a xmllint que lea desde stdin .

Por ejemplo:

$ bzip2 -dc dierehabilitati00delagoog_meta.xml.bz2 | xmllint --format

fallaría dando el "uso" para xmllint. Añadiendo "-" funcionó:

$ bzip2 -dc dierehabilitati00delagoog_meta.xml.bz2 | xmllint --format - <?xml version="1.0"?> <metadata> <title>Die Rehabilitation im Strafrecht</title> <creator>Ernst Delaquis</creator> <mediatype>texts</mediatype> <collection>americana</collection> </metadata>

Espero que esto ayude.