List of usage examples for org.w3c.dom.traversal DocumentTraversal createTreeWalker
public TreeWalker createTreeWalker(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException;
TreeWalker
over the subtree rooted at the specified node. From source file:Main.java
public static void main(String[] argv) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder loader = factory.newDocumentBuilder(); Document document = loader.parse("sample.xml"); DocumentTraversal traversal = (DocumentTraversal) document; TreeWalker walker = traversal.createTreeWalker(document.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true);//from w w w .j a va2 s .co m traverseLevel(walker, ""); }
From source file:Main.java
public static void main(String[] argv) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); Document document = factory.newDocumentBuilder().parse(new InputSource(new StringReader(getXMLData()))); DocumentTraversal traversal = (DocumentTraversal) document; TreeWalker walker = traversal.createTreeWalker(document.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true);/* ww w . j a v a2 s. c o m*/ traverseLevel(walker, ""); }
From source file:DemoTreeWalker.java
public static void main(String args[]) throws SAXException, IOException { DOMParser parser = new DOMParser(); parser.parse("games.xml"); Document doc = parser.getDocument(); DocumentTraversal docTraversal = (DocumentTraversal) doc; TreeWalker iter = docTraversal.createTreeWalker(doc.getDocumentElement(), NodeFilter.SHOW_ALL, null, false); Node n = null;// ww w . j a v a2 s . co m while ((n = iter.nextNode()) != null) { System.out.println("Node name: " + n.getNodeName()); System.out.println("Node value: " + n.getNodeValue()); } }
From source file:DOMTreeWalkerTreeModel.java
/** * This main() method demonstrates the use of this class, the use of the * Xerces DOM parser, and the creation of a DOM Level 2 TreeWalker object. *//* ww w. j av a2s . com*/ public static void main(String[] args) throws IOException, SAXException { // Obtain an instance of a Xerces parser to build a DOM tree. // Note that we are not using the JAXP API here, so this // code uses Apache Xerces APIs that are not standards DOMParser parser = new org.apache.xerces.parsers.DOMParser(); // Get a java.io.Reader for the input XML file and // wrap the input file in a SAX input source Reader in = new BufferedReader(new FileReader(args[0])); InputSource input = new org.xml.sax.InputSource(in); // Tell the Xerces parser to parse the input source parser.parse(input); // Ask the parser to give us our DOM Document. Once we've got the DOM // tree, we don't have to use the Apache Xerces APIs any more; from // here on, we use the standard DOM APIs Document document = parser.getDocument(); // If we're using a DOM Level 2 implementation, then our Document // object ought to implement DocumentTraversal DocumentTraversal traversal = (DocumentTraversal) document; // For this demonstration, we create a NodeFilter that filters out // Text nodes containing only space; these just clutter up the tree NodeFilter filter = new NodeFilter() { public short acceptNode(Node n) { if (n.getNodeType() == Node.TEXT_NODE) { // Use trim() to strip off leading and trailing space. // If nothing is left, then reject the node if (((Text) n).getData().trim().length() == 0) return NodeFilter.FILTER_REJECT; } return NodeFilter.FILTER_ACCEPT; } }; // This set of flags says to "show" all node types except comments int whatToShow = NodeFilter.SHOW_ALL & ~NodeFilter.SHOW_COMMENT; // Create a TreeWalker using the filter and the flags TreeWalker walker = traversal.createTreeWalker(document, whatToShow, filter, false); // Instantiate a TreeModel and a JTree to display it JTree tree = new JTree(new DOMTreeWalkerTreeModel(walker)); // Create a frame and a scrollpane to display the tree, and pop them up JFrame frame = new JFrame("DOMTreeWalkerTreeModel Demo"); frame.getContentPane().add(new JScrollPane(tree)); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.setSize(500, 250); frame.setVisible(true); }
From source file:Main.java
public static TreeWalker createTreeWalker(Node node, int whatToShow, NodeFilter nodeFilter, boolean entityReferenceExpansion) { final DocumentTraversal documentTraversal; if (node instanceof Document) { documentTraversal = (DocumentTraversal) node; } else {/*from w w w . j a v a 2s. c om*/ documentTraversal = (DocumentTraversal) node.getOwnerDocument(); } return documentTraversal.createTreeWalker(node, whatToShow, nodeFilter, entityReferenceExpansion); }
From source file:DOMTreeWalkerTreeModel.java
/** * Create a TreeModel for a TreeWalker that returns all nodes in the * specified document// w w w . j a va2 s. c om */ public DOMTreeWalkerTreeModel(Document document) { DocumentTraversal dt = (DocumentTraversal) document; walker = dt.createTreeWalker(document, NodeFilter.SHOW_ALL, null, false); }
From source file:DOMTreeWalkerTreeModel.java
/** * Create a TreeModel for a TreeWalker that returns the specified element * and all of its descendant nodes./* w w w . j a v a2s. c o m*/ */ public DOMTreeWalkerTreeModel(Element element) { DocumentTraversal dt = (DocumentTraversal) element.getOwnerDocument(); walker = dt.createTreeWalker(element, NodeFilter.SHOW_ALL, null, false); }
From source file:com.twinsoft.convertigo.beans.core.Sequence.java
private static void buildOutputDom(Element root, OutputFilter outputFilter) { try {/*from w w w. j a v a 2 s. co m*/ DocumentTraversal traversal = (DocumentTraversal) root.getOwnerDocument(); TreeWalker walker = traversal.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, outputFilter, false); traverseLevel(walker, null, ""); outputFilter.doOutPut(); } finally { if (outputFilter != null) { outputFilter.map.clear(); } } }
From source file:org.jboss.shrinkwrap.descriptor.metadata.MetadataParser.java
/** * Parses one or more XSD schemas or DTD and produces java classes based on the parsing results. * * @param path// ww w . j av a2 s. c om * specifies where to create the interface, implementation and test case java classes. * @param confList * list <code>MetadataParserConfiguration</code> objects. * @param verbose * if true, additional parsing information are printed out, otherwise not. * @throws Exception */ @SuppressWarnings("unchecked") public void parse(final MetadataParserPath path, final List<?> confList, final List<?> javadocTags, final boolean verbose) throws Exception { checkArguments(path, confList); pathToMetadata = createTempFile(verbose); if (log.isLoggable(Level.FINE)) { log.fine("Path to temporary metadata file: " + pathToMetadata); } for (int i = 0; i < confList.size(); i++) { final MetadataParserConfiguration metadataConf = (MetadataParserConfiguration) confList.get(i); metadata.setCurrentNamespace(metadataConf.getNameSpace()); metadata.setCurrentSchmema(metadataConf.getPathToXsd()); metadata.setCurrentPackageApi(metadataConf.getPackageApi()); metadata.setCurrentPackageImpl(metadataConf.getPackageImpl()); final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); metadataDescriptor.setRootElementName(metadataConf.getElementName()); metadataDescriptor.setRootElementType(metadataConf.getElementType()); metadataDescriptor.setSchemaName(metadataConf.getPathToXsd()); metadataDescriptor.setPackageApi(metadataConf.getPackageApi()); metadataDescriptor.setPackageImpl(metadataConf.getPackageImpl()); metadataDescriptor.setNamespace(metadataConf.getNameSpace()); metadataDescriptor.setNamespaces(metadataConf.getNamespaces()); metadataDescriptor.setGenerateClasses(metadataConf.generateClasses); metadataDescriptor.setPathToPackageInfoApi(metadataConf.getPathToPackageInfoApi()); metadataDescriptor.setPathToPackageInfoImpl(metadataConf.getPathToPackageInfoImpl()); metadataDescriptor.setCommon(metadataConf.getCommon()); metadataDescriptor.setCommonRef(metadataConf.getCommonRef()); metadataDescriptor.setGenerateCommonClasses(metadataConf.generateCommonClasses); metadataDescriptor.setCommonImports(metadataConf.getCommonImports()); metadata.getMetadataDescriptorList().add(metadataDescriptor); if (log.isLoggable(Level.FINE)) { log.fine(metadataConf.getPathToXsd()); } if (metadataConf.getPathToXsd().endsWith(".dtd")) { final InputSource in = new InputSource(new FileReader(metadataConf.getPathToXsd())); final MetadataDtdEventListener dtdEventListener = new MetadataDtdEventListener(metadata, verbose); final DTDParser parser = new DTDParser(); parser.setDtdHandler(dtdEventListener); parser.parse(in); } else { final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); final DocumentBuilder loader = factory.newDocumentBuilder(); final Document document = loader.parse(metadataConf.getPathToXsd()); if (log.isLoggable(Level.FINE)) { log.fine(document.getDocumentURI()); } final DocumentTraversal traversal = (DocumentTraversal) document; final TreeWalker walker = traversal.createTreeWalker(document.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true); final StringBuilder sb = verbose ? new StringBuilder() : null; filterChain.traverseAndFilter(walker, "", metadata, sb); if (sb != null) { log.info(sb.toString()); } } } /** * Analyze the data types defined in the elements. If an element data types points to a type defined in the data * type section, and the data type is simple type like xsd:string then change the element data type directly * here. */ metadata.preResolveDataTypes(); if (pathToMetadata != null) { new DomWriter().write(metadata, pathToMetadata, (List<MetadataJavaDoc>) javadocTags); } if (verbose) { new MetadataUtil().log(metadata); } if (path.getPathToApi() != null && path.getPathToImpl() != null) { generateCode(path, verbose); PackageInfo.copyPackageInfo(path, metadata, verbose); } }