Java tutorial
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Attr; import org.w3c.dom.CharacterData; import org.w3c.dom.Comment; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; public class Main { public static void main(String[] argv) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder loader = factory.newDocumentBuilder(); Document document = loader.parse("sample.xml"); Element purchaseOrder = document.getDocumentElement(); printElement(purchaseOrder, ""); } static void printElement(Element element, String indent) { System.out.println("Element '" + element.getNodeName() + "'"); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); switch (child.getNodeType()) { case Node.ELEMENT_NODE: printElement((Element) child, indent + "\t"); break; case Node.ATTRIBUTE_NODE: Attr attr = (Attr) child; System.out.println("\tAttribute: '" + attr.getName() + "' = '" + attr.getValue() + "'"); break; case Node.COMMENT_NODE: Comment comment = (Comment) child; System.out.println("\tComment: '" + comment.getData() + "'"); break; case Node.CDATA_SECTION_NODE: CharacterData cdata = (CharacterData) child; System.out.println("\tCDatat: '" + cdata.getData() + "'"); break; case Node.TEXT_NODE: Text text = (Text) child; System.out.println("\tText: '" + text.getData() + "'"); break; default: System.out.println("\tUnknown node type: '" + child.getNodeType() + "'"); break; } } } }