Dom elemanı dönüştüren Aşağıdaki kodda NullPointerException alıyorum:iken dize
String str = SOME_HTML_STRING;
Node node = convertStrIntoNodeUsingJTidy();
domToString(node);
//converts node to string
public static String domToString(org.w3c.dom.Node node)throws Exception {
try {
StringWriter sw = new StringWriter();
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
// NullPointerException at this line, although node is not null
transformer.transform(new DOMSource(node), new StreamResult(sw));
return sw.toString();
} catch (Exception ex) {
throw new Exception("Error converting to String", ex);
}
}
StackTrace geçerli: http://geekymeeky.blogspot.in/2008/10/javaxxmltransform-transformerexception.html
:Caused by: javax.xml.transform.TransformerException: java.lang.NullPointerException
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
at com.example.Util.domToString(Util.java:3179)
... 128 more
Caused by: java.lang.NullPointerException
at com.sun.org.apache.xml.internal.serializer.ToXMLStream.processingInstruction(Unknown Source)
at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.processingInstruction(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
... 131 more
Zaten alttaki linki kontrol ettikten
Yukarıdaki yazı, bir metin düğümü boşsa, bu özel durumun oluştuğunu belirtir.
str değişkeninin hangi değerinin, metin düğümü değerinin null değerine neden olduğunu ve bu özel duruma yol açtığını bilmek istiyorum.
Ve SOME_HTML_STRING nedir? – fge
'Düğümün boş olmadığından emin misiniz? Dönüştürmeden önce 'assert node! = Null' eklemeyi deneyin. – user1516873
@fge Bu bilmek istediğim şey. Aslında müşterimizden biri bu hatayı bildirdi. SOME_HTML_STRING işlevinin olası tüm senaryolarını denedim, ancak hatayı yeniden oluşturamıyorum. –