e547. merging text nodes in a dom document.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 35 行

TXT
35
字号
This example removes an element node and inserts its children nodes into the element node's parent. This can cause two text nodes to be adjacent. Normalizing the document merges adjacent text nodes into one and removes empty text nodes. 
    // Obtain a document; this method is implemented in
    // e510 The Quintessential Program to Create a DOM Document from an XML File
    Document doc = parseXmlFile("infilename.xml", false);
    
    // Obtain the root element to remove
    Element element = (Element)doc.getElementsByTagName("b").item(0);
    
    // Get the parent of the element
    Node parent = element.getParentNode();
    
    // Move all children of the element in front of the element
    while (element.hasChildNodes()) {
        parent.insertBefore(element.getFirstChild(), element);
    }
    
    // Remove the element
    parent.removeChild(element);
    
    // Merge all text nodes under the parent
    parent.normalize();

This is the sample input for the example: 
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
        Here is <b>some</b> text
    </root>

This is the resulting XML: 
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
        Here is some text
    </root>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?