0

是否有另一种方法可以将 XMLDocument对象转换为String使用转换或XmlSerializer来自 Apache API 的方式?我不想使用提到的转换方法,因为它呈现我的输出 xml 修改标签表示(例如将空标签折叠为单例标签)。String我想要从Document对象输出的转换方法(将对象的内容Document视为文本的一种)。

4

1 回答 1

1

通过扩展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();
    }
}
于 2012-12-20T00:08:49.673 回答