DOM4J xml打印原文

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.CDATA;
import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.Text;
import org.dom4j.io.SAXReader;
import org.junit.Test;


public class xmlParse {
    @Test
    public void rootElement() throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(new File("./lib/book.xml"));
        Element rootElement = document.getRootElement();
        printOrigionXmlContent(rootElement);
    
    }
    
    public void printOrigionXmlContent(Element element) {
        StringBuffer buffer = new StringBuffer();
        printContent(element, buffer);
        System.out.println(buffer.toString());
    }
    
    public void printContent(Element element, StringBuffer buffer) {
        buffer.append("<"+element.getName());
        List<Attribute> attributes = element.attributes();
        if (attributes != null) {
            for (Attribute attribute : attributes) {
                buffer.append(" "+attribute.getName()+"=\""+attribute.getValue()+"\"");
            }
        }
        buffer.append(">");
        
        Iterator<Node> nodeIterator = element.nodeIterator();
        while(nodeIterator.hasNext()) {
            Node node = nodeIterator.next();
            if (node instanceof Element) {
                Element eleNode = (Element) node;
                
                printContent(eleNode, buffer);
            }
            
            if (node instanceof Text) {
                Text text = (Text) node;
                buffer.append(text.getText());
            }
            if (node instanceof CDATA) {
                CDATA dataNode = (CDATA) node;
                buffer.append(dataNode.getText());
            }
            if (node instanceof Comment) {
                Comment comNode = (Comment) node;
                buffer.append(comNode.getText());
            }
            
        }
        buffer.append("</"+element.getName()+">");
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容