package test; import java.io.Serializable; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Element; import org.w3c.dom.Text; import org.xml.sax.InputSource; import org.xml.sax.ErrorHandler; import org.xml.sax.Locator; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.apache.xerces.parsers.DOMParser; import ui.DOMParserSaveEncoding; public class DOMTest { public static void arbeite(NodeList nodes) { int len = (nodes != null) ? nodes.getLength() : 0; System.out.println(len); for (int i=0; i < len; i++) { Node node = nodes.item(i); switch (node.getNodeType()) { case Node.DOCUMENT_NODE: { System.out.println("Document Node " + node.getNodeName() ); arbeite(node.getChildNodes()); break; } case Node.ELEMENT_NODE: { System.out.println("Element Node :" + node.getNodeName() + ":"); if (node.getNodeName().substring(0,5).equals("vcard")) { System.out.println(node.getNodeName() + " " + node.getFirstChild().getNodeValue()); } if (node.getNodeName().substring(0,5).equals("email")) { System.out.println(node.getNodeName() + " " + node.getFirstChild().getNodeValue()); } arbeite(node.getChildNodes()); break; } default: { // System.out.println("Default"); }// ignore } // switch } } public static void main(String[] argv) { String filename=argv[0]; String DEFAULT_PARSER_NAME = "org.apache.xerces.parsers.DOMParser"; DOMParserSaveEncoding parser; try { parser = new DOMParserSaveEncoding(); // ef.resetErrors(); // parser.setErrorHandler(ef); parser.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false); // otherwise parser.getCurrentNode() == null parser.setFeature("http://apache.org/xml/features/continue-after-fatal-error", true); parser.setFeature("http://apache.org/xml/features/allow-java-encodings", true); parser.parse(filename); Document document = parser.getDocument(); NodeList nodes = document.getChildNodes(); arbeite(nodes); } catch (Exception ex) {} } // ErrorStorer ef; }