getValue()
returns the XPath string value of a node
toXML()
returns a String
containing the XML form of the node
import java.io.*; import nu.xom.*; public class PropertyPrinter { private Writer out; public PropertyPrinter(Writer out) { if (out == null) { throw new NullPointerException("Writer must be non-null."); } this.out = out; } public PropertyPrinter() { this(new OutputStreamWriter(System.out)); } private int nodeCount = 0; public void writeNode(Node node) throws IOException { if (node == null) { throw new NullPointerException("Node must be non-null."); } if (node instanceof Document) { // starting a new document, reset the node count nodeCount = 1; } String type = node.getClass().getName(); // never null String value = node.getValue(); String name = null; String localName = null; String uri = null; String prefix = null; if (node instanceof Element) { Element element = (Element) node; name = element.getQualifiedName(); localName = element.getLocalName(); uri = element.getNamespaceURI(); prefix = element.getNamespacePrefix(); } else if (node instanceof Attribute) { Element element = (Element) node; name = element.getQualifiedName(); localName = element.getLocalName(); uri = element.getNamespaceURI(); prefix = element.getNamespacePrefix(); } StringBuffer result = new StringBuffer(); result.append("Node " + nodeCount + ":\r\n"); result.append(" Type: " + type + "\r\n"); if (name != null) { result.append(" Name: " + name + "\r\n"); } if (localName != null) { result.append(" Local Name: " + localName + "\r\n"); } if (prefix != null) { result.append(" Prefix: " + prefix + "\r\n"); } if (uri != null) { result.append(" Namespace URI: " + uri + "\r\n"); } if (value != null) { result.append(" Value: " + value + "\r\n"); } out.write(result.toString()); out.write("\r\n"); out.flush(); nodeCount++; } public static void main(String[] args) throws Exception { Builder builder = new Builder(); for (int i = 0; i < args.length; i++) { PropertyPrinter p = new PropertyPrinter(); File f = new File(args[i]); Document doc = builder.build(f); p.writeNode(doc); } } }