Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml com.sun.org.apache.xerces.internal.dom.DeferredElementImpl转换为字符串_Xml_Dom - Fatal编程技术网

Xml com.sun.org.apache.xerces.internal.dom.DeferredElementImpl转换为字符串

Xml com.sun.org.apache.xerces.internal.dom.DeferredElementImpl转换为字符串,xml,dom,Xml,Dom,我有一个类型的对象 com.sun.org.apache.xerces.internal.dom.DeferredElementImpl 包含XML根元素和下面的结构 如何从中检索作为字符串的XML内容 请注意,方法toString()是可用的,但这是以一种非常基本的方式实现的,只报告字符串,如[root:null],因此只显示根元素名称,而不显示此元素的任何进一步内容。 在javadoc中,此方法被列为“非DOM方法以方便调试”。我知道这有点晚,但如果您仍在寻找解决方案,请尝试以下方法: T

我有一个类型的对象

com.sun.org.apache.xerces.internal.dom.DeferredElementImpl
包含XML根元素和下面的结构

如何从中检索作为字符串的XML内容

请注意,方法
toString()
是可用的,但这是以一种非常基本的方式实现的,只报告字符串,如
[root:null]
,因此只显示根元素名称,而不显示此元素的任何进一步内容。

在javadoc中,此方法被列为“非DOM方法以方便调试”。

我知道这有点晚,但如果您仍在寻找解决方案,请尝试以下方法:

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();

DOMSource source = new DOMSource(node);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result); 
其中,
节点
是DeferredElementImpl对象。DeferredElementImpl实现了节点接口,因此您应该能够像使用任何其他DOM节点一样在其上使用转换器


我知道这有点晚,但如果您仍在寻找解决方案,请尝试以下方法:

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();

DOMSource source = new DOMSource(node);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result); 
其中,
节点
是DeferredElementImpl对象。DeferredElementImpl实现了节点接口,因此您应该能够像使用任何其他DOM节点一样在其上使用转换器


我使用此方法从
com.sun.org.apache.xerces.internal.dom.DeferredElementImpl

public static String getCharacterDataFromElement(Element e) throws Exception {
    String data = "";
    Node child = e.getFirstChild();
    if (child instanceof DeferredElementImpl) {
        DeferredElementImpl node = (DeferredElementImpl) child;
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer;
        transformer = tFactory.newTransformer();
        DOMSource source = new DOMSource(node);
        StreamResult result = new StreamResult(new StringWriter());
        transformer.transform(source, result);
        data = result.getWriter().toString();
    }
    return data;
}

我使用此方法从
com.sun.org.apache.xerces.internal.dom.DeferredElementImpl

public static String getCharacterDataFromElement(Element e) throws Exception {
    String data = "";
    Node child = e.getFirstChild();
    if (child instanceof DeferredElementImpl) {
        DeferredElementImpl node = (DeferredElementImpl) child;
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer;
        transformer = tFactory.newTransformer();
        DOMSource source = new DOMSource(node);
        StreamResult result = new StreamResult(new StringWriter());
        transformer.transform(source, result);
        data = result.getWriter().toString();
    }
    return data;
}

值得一试,不管怎样,我奖励了1up,因为我在所有堆栈溢出问题中发现了这个老问题!值得一试,不管怎样,我奖励了1up,因为我在所有堆栈溢出问题中发现了这个老问题!