Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  XML_GREP (1)

.ds Aq ’


xml_grep - grep XML files looking for specific elements



  xml_grep [options] <file list>


  xml_grep <xpath expression> <file list>

By default you can just give xml_grep an XPath expression and a list of files, and get an XML file with the result.

This is equivalent to writing

  xml_grep --group_by_file file --pretty_print indented --cond <file list>


<B>--helpB> brief help message
<B>--manB> full documentation
<B>--VersionB> display the tool version
<B>--rootB> <cond> look for and return xml chunks matching <cond>

if neither --root nor --file are used then the element(s) that trigger the --cond option is (are) used. If --cond is not used then all elements matching the <cond> are returned

several --root can be provided

<B>--condB> <cond> return the chunks (or file names) only if they contain elements matching <cond>

several --cond can be provided (in which case they are OR’ed)

<B>--filesB> return only file names (do not generate an XML output)

usage of this option precludes using any of the options that define the XML output: --roots, --encoding, --wrap, --group_by_file or --pretty_print

<B>--countB> return only the number of matches in each file

usage of this option precludes using any of the options that define the XML output: --roots, --encoding, --wrap, --group_by_file or --pretty_print

<B>--strictB> without this option parsing errors are reported to STDOUT and the file skipped
<B>--dateB> when on (by default) the wrapping element get a date attribute that gives the date the tool was run.

with --nodate this attribute is not added, which can be useful if you need to compare 2 runs.

<B>--encodingB> <enc> encoding of the xml output (utf-8 by default)
<B>--nb_resultsB> <nb> output only <nb> results
<B>--by_fileB> output only <nb> results by file
<B>--wrapB> <tag> wrap the xml result in the provided tag (defaults to ’xml_grep’)

If wrap is set to an empty string (--wrap ) then the xml result is not wrapped at all.

<B>--nowrapB> same as using --wrap : the xml result is not wrapped.
<B>--descrB> <string> attributes of the wrap tag (defaults to version="<VERSION>" date="<date>")
<B>--group_by_fileB> <optional_tag> wrap results for each files into a separate element. By default that element is named file. It has an attribute named filename that gives the name of the file.

the short version of this option is <B>-gB>

<B>--excludeB> <condition> same as using -v in grep: the elements that match the condition are excluded from the result, the input file(s) is (are) otherwise unchanged

the short form of this option is <B>-vB>

<B>--pretty_printB> <optional_style> pretty print the output using XML::Twig styles (’indented’, ’record’ or ’record_c’ are probably what you are looking for)

if the option is used but no style is given then ’indented’ is used

short form for this argument is <B>-sB>

<B>--text_onlyB> Displays the text of the results, one by line.
<B>--htmlB> Allow HTML input, files are converted using HTML::TreeBuilder
<B>--TidyB> Allow HTML input, files are converted using HTML::Tidy

    Condition Syntax

<cond> is an XPath-like expression as allowed by XML::Twig to trigger handlers.


see XML::Twig for a more complete description of the <cond> syntax

options are processedby Getopt::Long so they can start with ’-’ or ’--’ and can be abbreviated (-r instead of --root for example)


<B>xml_grepB> does a grep on XML files. Instead of using regular expressions it uses XPath expressions (in fact the subset of XPath supported by XML::Twig)

the results can be the names of the files or XML elements containing matching elements.


XML::Twig Getopt::Long


This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Michel Rodriguez <>
Search for    or go to Top of page |  Section 1 |  Main Index

perl v5.20.3 XML_GREP (1) 2014-06-11

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.