简体   繁体   English

在不使用转换或XMLSerializer的情况下,将文档(XML)直接转换为Java中的字符串

[英]Convert Document (XML) directly to String in java without using transform or XMLSerializer

Is there another way to convert XML Document object to String just like using transform or XmlSerializer from Apache API? 是否有另一种将XML Document对象转换为String ,就像使用Apache API中的transform或XmlSerializer一样? I don't want to use mentioned conversion methods because it renders my output xml modifying tags representation ( like collapsing the empty tags to singleton tags). 我不想使用上述转换方法,因为它会呈现我的输出xml修改标记表示形式(例如将空标记折叠为单例标记)。 I want conversion method that output in String from the Document object (kind of treating content of Document object as text). 我想转换方法,在输出String从所述Document对象(种类处理的内容的Document对象作为文本)。

You could do worse than SAX, by extending DefaultHandler2 or DefaultHandler : 通过扩展DefaultHandler2DefaultHandler ,您可能做得比SAX更糟:

class Parser extends DefaultHandler { 
    StringBuffer sb = new StringBuffer();
    public void characters(char[] ch, int start, int length) {
        sb.append(new String(ch, start, length);
    }

    public void startElement(String ns, String qname, String name, Attributes attrs) {
        sb.append(qname+": ");
    }

    public void endElement(String ns, String qname, String name) {
        sb.append("\n");
    }

    public String toString() {
        return sb.toString();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM