List of usage examples for org.w3c.dom.traversal DocumentTraversal createNodeIterator
public NodeIterator createNodeIterator(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException;
NodeIterator
over the subtree rooted at the specified node. From source file:com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.java
public static String removeOVFNetwork(final String ovfString) { if (ovfString == null || ovfString.isEmpty()) { return ovfString; }/*from w w w.j av a 2 s.c o m*/ try { final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); final Document doc = factory.newDocumentBuilder().parse(new ByteArrayInputStream(ovfString.getBytes())); final DocumentTraversal traversal = (DocumentTraversal) doc; final NodeIterator iterator = traversal.createNodeIterator(doc.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { final Element e = (Element) n; if ("NetworkSection".equals(e.getTagName())) { if (e.getParentNode() != null) { e.getParentNode().removeChild(e); } } else if ("rasd:Connection".equals(e.getTagName())) { if (e.getParentNode() != null && e.getParentNode().getParentNode() != null) { e.getParentNode().getParentNode().removeChild(e.getParentNode()); } } } final DOMSource domSource = new DOMSource(doc); final StringWriter writer = new StringWriter(); final StreamResult result = new StreamResult(writer); final TransformerFactory tf = TransformerFactory.newInstance(); final Transformer transformer = tf.newTransformer(); transformer.transform(domSource, result); return writer.toString(); } catch (SAXException | IOException | ParserConfigurationException | TransformerException e) { s_logger.warn("Unexpected exception caught while removing network elements from OVF:", e); } return ovfString; }
From source file:org.etudes.mneme.impl.ImportQti2ServiceImpl.java
/** * read each node and write it as is.// w w w . j a v a 2 s .co m * * @param doc * @param itemBodyElement * @return */ private String normalizeElementBody(Document doc, Element itemBodyElement) { if (itemBodyElement == null) return ""; try { doc.getDocumentElement().normalize(); DocumentTraversal traversal = (DocumentTraversal) doc; NodeIterator iterator = traversal.createNodeIterator(itemBodyElement, NodeFilter.SHOW_ELEMENT, null, true); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { String tagname = ((Element) n).getTagName(); if (tagname.equalsIgnoreCase(itemBodyElement.getTagName())) { StringBuilder textContent = new StringBuilder(); String nodeContent = getAllLevelsTextContent(n, textContent, false, null, null, null); return nodeContent; } } } catch (Exception e) { return itemBodyElement.getTextContent(); } return itemBodyElement.getTextContent(); }
From source file:org.etudes.mneme.impl.ImportQti2ServiceImpl.java
/** * For unsupported question , get the whole text along with options. * @param doc/* w w w .j a v a2s . c o m*/ * @param itemBodyElement * @param wholeText * @param unzipLocation * @param context * @param embedMedia * @return */ private String normalizeItemBodyElement(Document doc, Element itemBodyElement, boolean wholeText, String unzipLocation, String context, List<String> embedMedia) { if (itemBodyElement == null) return ""; try { doc.getDocumentElement().normalize(); DocumentTraversal traversal = (DocumentTraversal) doc; NodeIterator iterator = traversal.createNodeIterator(itemBodyElement, NodeFilter.SHOW_ELEMENT, null, true); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { String tagname = ((Element) n).getTagName(); if (tagname.equalsIgnoreCase(itemBodyElement.getTagName())) { StringBuilder textContent = new StringBuilder(); String nodeContent = getAllLevelsTextContent(n, textContent, wholeText, unzipLocation, context, embedMedia); return nodeContent; } } } catch (Exception e) { return itemBodyElement.getTextContent(); } return itemBodyElement.getTextContent(); }
From source file:org.springframework.batch.core.jsr.configuration.xml.JsrBeanDefinitionDocumentReader.java
private void transformDocument(Element root) { DocumentTraversal traversal = (DocumentTraversal) root.getOwnerDocument(); NodeIterator iterator = traversal.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, null, true); BeanDefinitionRegistry registry = getBeanDefinitionRegistry(); Map<String, Integer> referenceCountMap = new HashMap<String, Integer>(); for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) { NamedNodeMap map = n.getAttributes(); if (map.getLength() > 0) { for (int i = 0; i < map.getLength(); i++) { Node node = map.item(i); String nodeName = node.getNodeName(); String nodeValue = node.getNodeValue(); String resolvedValue = resolveValue(nodeValue); String newNodeValue = resolvedValue; if ("ref".equals(nodeName)) { if (!referenceCountMap.containsKey(resolvedValue)) { referenceCountMap.put(resolvedValue, 0); }/*from ww w. jav a 2s. c om*/ boolean isClass = isClass(resolvedValue); Integer referenceCount = referenceCountMap.get(resolvedValue); // possibly fully qualified class name in ref tag in the JSL or pointer to bean/artifact ref. if (isClass && !registry.containsBeanDefinition(resolvedValue)) { AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder .genericBeanDefinition(resolvedValue).getBeanDefinition(); beanDefinition.setScope("step"); registry.registerBeanDefinition(resolvedValue, beanDefinition); newNodeValue = resolvedValue; } else { if (registry.containsBeanDefinition(resolvedValue)) { referenceCount++; referenceCountMap.put(resolvedValue, referenceCount); newNodeValue = resolvedValue + referenceCount; BeanDefinition beanDefinition = registry.getBeanDefinition(resolvedValue); registry.registerBeanDefinition(newNodeValue, beanDefinition); } } } if (!nodeValue.equals(newNodeValue)) { node.setNodeValue(newNodeValue); } } } else { String nodeValue = n.getTextContent(); String resolvedValue = resolveValue(nodeValue); if (!nodeValue.equals(resolvedValue)) { n.setTextContent(resolvedValue); } } } }