LinuxCommandLibrary

xmlstarlet

A command-line XML/XSLT toolkit.

TLDR

Format an XML document and print to stdout

$ xmlstarlet format [path/to/file.xml]
copy


XML document can also be piped from stdin
$ [cat path/to/file.xml] | xmlstarlet format
copy


Print all nodes that match a given XPath
$ xmlstarlet select --template --copy-of [xpath] [path/to/file.xml]
copy


Insert an attribute to all matching nodes, and print to stdout (source file is unchanged)
$ xmlstarlet edit --insert [xpath] --type attr --name [attribute_name] --value [attribute_value] [path/to/file.xml]
copy


Update the value of all matching nodes in place (source file is changed)
$ xmlstarlet edit --inplace --update [xpath] --value [new_value] [file.xml]
copy


Delete all matching nodes in place (source file is changed)
$ xmlstarlet edit --inplace --delete [xpath] [file.xml]
copy


Escape or unescape special XML characters in a given string
$ xmlstarlet [un]escape [string]
copy


List a given directory as XML (omit argument to list current directory)
$ xmlstarlet ls [path/to/directory]
copy

SYNOPSIS

xml [options...] {command} [cmd-options...]

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.

OPTIONS

--version

Display the version of xmlstarlet.

--help

Display help.

COMMANDS

xml command --help for command specific help

Available commands include:

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 documents(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.

REFERENCES

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

BUGS

Report bugs to the mailing list, xmlstar-devel@lists.sourceforge.net or the bug tracker: http://sourceforge.net/tracker/?group_id=66612&atid=515106.

COPYRIGHT


Copyright © 2012

AUTHOR

Mikhail Grushinskiy

XMLStarlet creator.

Copied to clipboard