2
* Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
4
* This software is open source.
5
* See the bottom of this file for the licence.
7
* $Id: XPathDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
10
package org.dom4j.samples;
12
import java.util.Iterator;
13
import java.util.List;
15
import org.dom4j.Document;
18
* A sample program to demonstrate the use of XPath expressions.
20
* @author <a href="mailto:james.strachan@metastuff.com">James Strachan </a>
21
* @version $Revision: 1.4 $
23
public class XPathDemo extends SAXDemo {
25
protected String xpath = "*";
27
public static void main(String[] args) {
28
run(new XPathDemo(), args);
34
public void run(String[] args) throws Exception {
35
if (args.length < 2) {
36
printUsage("<XML document URL> <XPath expression>");
40
String xmlFile = args[0];
43
writer = createXMLWriter();
45
Document document = parse(xmlFile);
49
protected void process(Document document) throws Exception {
50
println("Evaluating XPath: " + xpath);
52
List list = document.selectNodes(xpath);
54
println("Found: " + list.size() + " node(s)");
57
for (Iterator iter = list.iterator(); iter.hasNext();) {
58
Object object = iter.next();
68
* Redistribution and use of this software and associated documentation
69
* ("Software"), with or without modification, are permitted provided that the
70
* following conditions are met:
72
* 1. Redistributions of source code must retain copyright statements and
73
* notices. Redistributions must also contain a copy of this document.
75
* 2. Redistributions in binary form must reproduce the above copyright notice,
76
* this list of conditions and the following disclaimer in the documentation
77
* and/or other materials provided with the distribution.
79
* 3. The name "DOM4J" must not be used to endorse or promote products derived
80
* from this Software without prior written permission of MetaStuff, Ltd. For
81
* written permission, please contact dom4j-info@metastuff.com.
83
* 4. Products derived from this Software may not be called "DOM4J" nor may
84
* "DOM4J" appear in their names without prior written permission of MetaStuff,
85
* Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
87
* 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
89
* THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
90
* ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
91
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
92
* ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
93
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
94
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
95
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
96
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
97
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
98
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
99
* POSSIBILITY OF SUCH DAMAGE.
101
* Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
103
* $Id: XPathDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $