org.w3c.dom.Node.removeChild()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(428)

本文整理了Java中org.w3c.dom.Node.removeChild()方法的一些代码示例,展示了Node.removeChild()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.removeChild()方法的具体详情如下:
包路径:org.w3c.dom.Node
类名称:Node
方法名:removeChild

Node.removeChild介绍

[英]Removes the child node indicated by oldChild from the list of children, and returns it.
[中]从子节点列表中删除由oldChild指示的子节点,并将其返回。

代码示例

代码示例来源:origin: stanfordnlp/CoreNLP

  1. public static void removeChildren(Node e) {
  2. NodeList list = e.getChildNodes();
  3. for (int i = 0; i < list.getLength(); i++) {
  4. Node n = list.item(i);
  5. e.removeChild(n);
  6. }
  7. }
  8. private static void getMatchingNodes(Node node, Pattern[] nodePath, int cur, List<Node> res) {

代码示例来源:origin: groovy/groovy-core

  1. public static Node replaceNode(Node self, Closure c) {
  2. if (self.getParentNode() instanceof Document) {
  3. throw new UnsupportedOperationException("Replacing the root node is not supported");
  4. }
  5. appendNodes(self, c);
  6. self.getParentNode().removeChild(self);
  7. return self;
  8. }

代码示例来源:origin: apache/geode

  1. /*****
  2. * Deletes all the node from the document which match the definition provided by xmlEntity
  3. *
  4. */
  5. public static void deleteNode(Document doc, XmlEntity xmlEntity) throws Exception {
  6. NodeList nodes = getNodes(doc, xmlEntity);
  7. if (nodes != null) {
  8. int length = nodes.getLength();
  9. for (int i = 0; i < length; i++) {
  10. Node node = nodes.item(i);
  11. node.getParentNode().removeChild(node);
  12. }
  13. }
  14. }

代码示例来源:origin: cat.inspiracio/html-parser

  1. /** Deletes the option at index. */
  2. @Override public void remove(int index){
  3. NodeList options=getOptions();
  4. Node option=options.item(index);//may be null
  5. if(option==null)return;
  6. Node parent=option.getParentNode();
  7. parent.removeChild(option);
  8. }

代码示例来源:origin: simpligility/android-maven-plugin

  1. public static void removeDirectChildren( Node parent )
  2. {
  3. NodeList childNodes = parent.getChildNodes();
  4. while ( childNodes.getLength() > 0 )
  5. {
  6. parent.removeChild( childNodes.item( 0 ) );
  7. }
  8. }

代码示例来源:origin: pentaho/pentaho-kettle

  1. private void removeEmptyNodes( NodeList nodes ) {
  2. for ( int i = 0; i < nodes.getLength(); i++ ) {
  3. Node node = nodes.item( i );
  4. // Process the tree bottom-up
  5. if ( node.hasChildNodes() ) {
  6. removeEmptyNodes( node.getChildNodes() );
  7. }
  8. boolean nodeIsEmpty =
  9. node.getNodeType() == Node.ELEMENT_NODE && !node.hasAttributes() && !node.hasChildNodes()
  10. && node.getTextContent().length() == 0;
  11. if ( nodeIsEmpty ) {
  12. // We shifted elements left, do not increment counter
  13. node.getParentNode().removeChild( node );
  14. i--;
  15. }
  16. }
  17. }
  18. }

代码示例来源:origin: org.apache.poi/poi-ooxml

  1. if ("".equals(currentNode.getTextContent()) && currentNode.getParentNode() != null) {
  2. currentNode.getParentNode().removeChild(currentNode);

代码示例来源:origin: osmandapp/Osmand

  1. public static void collectPatterns(Document document) {
  2. NodeList nl = document.getElementsByTagName("pattern");
  3. while(nl.getLength() > 0) {
  4. Element pt = (Element) nl.item(0);
  5. String id = pt.getAttribute("id");
  6. patterns.put(id, pt);
  7. pt.getParentNode().removeChild(pt);
  8. }
  9. }

代码示例来源:origin: sannies/mp4parser

  1. thereIsMore = false;
  2. for (int i = 0; i < timedNodes.getLength(); i++) {
  3. Node p = timedNodes.item(i);
  4. long startTime = getStartTime(p);
  5. long endTime = getEndTime(p);
  6. Node parent = p.getParentNode();
  7. parent.removeChild(p);
  8. } else {
  9. changeTime(p, "begin", -segmentStartTime);

代码示例来源:origin: spring-projects/spring-restdocs

  1. private void removeLeafNodes(List<Node> candidates) {
  2. boolean changed = true;
  3. while (changed) {
  4. changed = false;
  5. Iterator<Node> iterator = candidates.iterator();
  6. while (iterator.hasNext()) {
  7. Node node = iterator.next();
  8. if (isLeafNode(node)) {
  9. node.getParentNode().removeChild(node);
  10. iterator.remove();
  11. changed = true;
  12. }
  13. }
  14. }
  15. }

代码示例来源:origin: marytts/marytts

  1. public static void replaceElement(Element oldElement, NodeList newNodes) {
  2. Document doc = oldElement.getOwnerDocument();
  3. Node parent = oldElement.getParentNode();
  4. int len = newNodes.getLength();
  5. for (int i = 0; i < len; i++) {
  6. Node n = newNodes.item(i);
  7. if (!doc.equals(n.getOwnerDocument())) {
  8. // first we need to import the node into the document
  9. n = doc.importNode(n, true);
  10. }
  11. parent.insertBefore(n, oldElement);
  12. }
  13. parent.removeChild(oldElement);
  14. }

代码示例来源:origin: camunda/camunda-bpm-platform

  1. /**
  2. * Recursively apply includes through all SQL fragments.
  3. * @param source Include node in DOM tree
  4. * @param variablesContext Current context for static variables with values
  5. */
  6. private void applyIncludes(Node source, final Properties variablesContext, boolean included) {
  7. if (source.getNodeName().equals("include")) {
  8. Node toInclude = findSqlFragment(getStringAttribute(source, "refid"), variablesContext);
  9. Properties toIncludeContext = getVariablesContext(source, variablesContext);
  10. applyIncludes(toInclude, toIncludeContext, true);
  11. if (toInclude.getOwnerDocument() != source.getOwnerDocument()) {
  12. toInclude = source.getOwnerDocument().importNode(toInclude, true);
  13. }
  14. source.getParentNode().replaceChild(toInclude, source);
  15. while (toInclude.hasChildNodes()) {
  16. toInclude.getParentNode().insertBefore(toInclude.getFirstChild(), toInclude);
  17. }
  18. toInclude.getParentNode().removeChild(toInclude);
  19. } else if (source.getNodeType() == Node.ELEMENT_NODE) {
  20. NodeList children = source.getChildNodes();
  21. for (int i = 0; i < children.getLength(); i++) {
  22. applyIncludes(children.item(i), variablesContext, included);
  23. }
  24. } else if (included && source.getNodeType() == Node.TEXT_NODE
  25. && !variablesContext.isEmpty()) {
  26. // replace variables ins all text nodes
  27. source.setNodeValue(PropertyParser.parse(source.getNodeValue(), variablesContext));
  28. }
  29. }

代码示例来源:origin: stackoverflow.com

  1. import java.io.File;
  2. import javax.xml.parsers.*;
  3. import javax.xml.transform.*;
  4. import javax.xml.transform.dom.DOMSource;
  5. import javax.xml.transform.stream.StreamResult;
  6. import javax.xml.xpath.*;
  7. import org.w3c.dom.*;
  8. public class Demo {
  9. public static void main(String[] args) throws Exception {
  10. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  11. Document document = dbf.newDocumentBuilder().parse(new File("input.xml"));
  12. XPathFactory xpf = XPathFactory.newInstance();
  13. XPath xpath = xpf.newXPath();
  14. XPathExpression expression = xpath.compile("//A/B[C/E/text()=13]");
  15. Node b13Node = (Node) expression.evaluate(document, XPathConstants.NODE);
  16. b13Node.getParentNode().removeChild(b13Node);
  17. TransformerFactory tf = TransformerFactory.newInstance();
  18. Transformer t = tf.newTransformer();
  19. t.transform(new DOMSource(document), new StreamResult(System.out));
  20. }
  21. }

代码示例来源:origin: marytts/marytts

  1. public static void replaceElement(Element oldElement, NodeList newNodes) {
  2. Document doc = oldElement.getOwnerDocument();
  3. Node parent = oldElement.getParentNode();
  4. int len = newNodes.getLength();
  5. for (int i = 0; i < len; i++) {
  6. Node n = newNodes.item(i);
  7. if (!doc.equals(n.getOwnerDocument())) {
  8. // first we need to import the node into the document
  9. n = doc.importNode(n, true);
  10. }
  11. parent.insertBefore(n, oldElement);
  12. }
  13. parent.removeChild(oldElement);
  14. }

代码示例来源:origin: vsch/flexmark-java

  1. writer.getDomConfig().setParameter("xml-declaration", false);
  2. int iMax = sections.getLength();
  3. StringBuilder sb = new StringBuilder();
  4. for (int i = 0; i < iMax; i++) {
  5. final Node item = sections.item(i);
  6. item.getParentNode().removeChild(item);
  7. iMax = bodies.getLength();
  8. for (int i = 0; i < iMax; i++) {
  9. final Node item = bodies.item(i);
  10. sb.append(writer.writeToString(item));
  11. iMax = footnotes.getLength();
  12. for (int i = 0; i < iMax; i++) {
  13. final Node item = footnotes.item(i);
  14. sb.append(writer.writeToString(item));

代码示例来源:origin: org.dom4j/dom4j

  1. public static org.w3c.dom.Node appendChild(Node node,
  2. org.w3c.dom.Node newChild) throws DOMException {
  3. if (node instanceof Branch) {
  4. Branch branch = (Branch) node;
  5. org.w3c.dom.Node previousParent = newChild.getParentNode();
  6. if (previousParent != null) {
  7. previousParent.removeChild(newChild);
  8. }
  9. branch.add((Node) newChild);
  10. return newChild;
  11. }
  12. throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
  13. "Children not allowed for this node: " + node);
  14. }

代码示例来源:origin: apache/geode

  1. boolean removeDuplicateGatewayReceivers(Document document) throws TransformerException {
  2. boolean modified = false;
  3. NodeList receiverNodes = document.getElementsByTagName("gateway-receiver");
  4. while (receiverNodes.getLength() > 1) {
  5. Element receiverElement = (Element) receiverNodes.item(0);
  6. receiverElement.getParentNode().removeChild(receiverElement);
  7. logger.info("Removed duplicate cluster configuration gateway-receiver element="
  8. + XmlUtils.prettyXml(receiverElement));
  9. modified = true;
  10. receiverNodes = document.getElementsByTagName("gateway-receiver");
  11. }
  12. return modified;
  13. }

代码示例来源:origin: org.mybatis/mybatis

  1. toInclude = source.getOwnerDocument().importNode(toInclude, true);
  2. source.getParentNode().replaceChild(toInclude, source);
  3. while (toInclude.hasChildNodes()) {
  4. toInclude.getParentNode().insertBefore(toInclude.getFirstChild(), toInclude);
  5. toInclude.getParentNode().removeChild(toInclude);
  6. } else if (source.getNodeType() == Node.ELEMENT_NODE) {
  7. if (included && !variablesContext.isEmpty()) {
  8. for (int i = 0; i < children.getLength(); i++) {
  9. applyIncludes(children.item(i), variablesContext, included);

代码示例来源:origin: org.apache.cxf/cxf-rt-frontend-jaxws

  1. public Object getPayload(JAXBContext arg0) {
  2. try {
  3. Source s = getPayload();
  4. if (s instanceof DOMSource) {
  5. DOMSource ds = (DOMSource)s;
  6. ds.setNode(org.apache.cxf.helpers.DOMUtils.getDomElement(ds.getNode()));
  7. Node parent = ds.getNode().getParentNode();
  8. Node next = ds.getNode().getNextSibling();
  9. if (parent instanceof DocumentFragment) {
  10. parent.removeChild(ds.getNode());
  11. }
  12. try {
  13. return JAXBUtils.unmarshall(arg0, ds);
  14. } finally {
  15. if (parent instanceof DocumentFragment) {
  16. parent.insertBefore(ds.getNode(), next);
  17. }
  18. }
  19. }
  20. return JAXBUtils.unmarshall(arg0, getPayload());
  21. } catch (JAXBException e) {
  22. throw new WebServiceException(e);
  23. }
  24. }

代码示例来源:origin: osmandapp/Osmand

  1. public static void combineAllApplyTags(Document document) {
  2. NodeList nl = document.getElementsByTagName("apply");
  3. while(nl.getLength() > 0) {
  4. Element app = (Element) nl.item(0);
  5. Element parent = (Element) app.getParentNode();
  6. NamedNodeMap attrs = app.getAttributes();
  7. for(int i = 0; i < attrs.getLength(); i++) {
  8. Node ns = attrs.item(i);
  9. parent.setAttribute(ns.getNodeName(), ns.getNodeValue());
  10. }
  11. while(app.getChildNodes().getLength() > 0) {
  12. Node ni = app.getChildNodes().item(0);
  13. app.getParentNode().insertBefore(ni, app);
  14. }
  15. app.getParentNode().removeChild(app);
  16. }
  17. }

相关文章