XmlStarlet

WebHome | UnixGeekTools | Geekfarm | About This Site

Pointers

Introduction

XMLStarlet is a set of command line utilities (tools) which can be used to transform, query, validate, and edit XML documents and files using simple set of shell commands in similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join, etc commands.

This set of command line utilities can be used by those who deal with many XML documents on UNIX shell command prompt as well as for automated XML processing with shell scripts.

The toolkit's feature set includes options to:

source

Dependencies

Quick Usage

    # show all elements in xml file
    xml el <file.xml>

    # show elements in xml file including attributes
    xml el -a <file.xml>

    # show elements in xml file including attribute values
    xml el -v <file.xml>

sel


    # print matching text, one line each
    xml sel -t -m "/log-summary/xref" -c . -n

    # warning - appropriate use of "" or '' is important!
    xml sel -t -c "//log-summary/xref/transaction[@name='getPlannedContactList']/location[@name='2543']" -n

    xml sel -t -c "xpath0" -m "xpath1" -m "xpath2" -v "xpath3" -t -m "xpath4" -c "xpath5"

    xml sel -t -m "/log-summary/time" -v "@name" -n ~/tmp/test.xml
    xml sel -t -m "/log-summary/time" -v "concat( @name,'  ',@duration,'  ',@count)" -n ~/tmp/test.xml

Usage


    XMLStarlet Toolkit: Command line utilities for XML
    Usage: xml [<options>] <command> [<cmd-options>]
    where <command> is one of:
      ed    (or edit)      - Edit/Update XML document(s)
      sel   (or select)    - Select data or query XML document(s) (XPATH, etc)
      tr    (or transform) - Transform XML document(s) using XSLT
      val   (or validate)  - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG)
      fo    (or format)    - Format XML document(s)
      el    (or elements)  - Display element structure of XML document
      c14n  (or canonic)   - XML canonicalization
      ls    (or list)      - List directory as XML
      esc   (or escape)    - Escape special XML characters
      unesc (or unescape)  - Unescape special XML characters
      pyx   (or xmln)      - Convert XML into PYX format (based on ESIS - ISO 8879)
      p2x   (or depyx)     - Convert PYX into XML
    <options> are:
      --version            - show version
      --help               - show help
    Wherever file name mentioned in command help it is assumed
    that URL can be used instead as well.

    Type: xml <command> --help <ENTER> for command help

    XMLStarlet is a command line toolkit to query/edit/check/transform
    XML documents (for more information see http://xmlstar.sourceforge.net/)

See also




Updated Sun Jul 23, 2006 12:14 PM