Dear All,
unfortunately I cannot serialize items using DOM/LS. I get an NullPointerException because Node.getParentNode() returns null.
Here's the use-case:
public class Test { public static void main(String[] args) throws Exception { System.setProperty("org.basex.path", "D:\ODX-Development-Neu\odx-workspace\.database"); Context context = new Context();
try { // // open DB and query an item // new Open("vag").execute(context); QueryProcessor queryProcessor = new QueryProcessor("//BASE-VARIANT[SHORT-NAME='BV_EnginContrModul1UDS']", context); Item item = queryProcessor.iter().next();
// // serialize item, proofs that result is here // Serializer serializer = queryProcessor.getSerializer(System.out);
// can the queryProcessor be closed here? queryProcessor.close();
serializer.serialize(item); serializer.close();
// // write with DOM fails!!! // org.w3c.dom.Node node = (org.w3c.dom.Node)item.toJava();
DOMImplementationLS domImplementationLS = (DOMImplementationLS)DOMImplementationRegistry.newInstance ().getDOMImplementation("LS"); LSOutput lsOutput = domImplementationLS.createLSOutput(); lsOutput.setByteStream(System.out); LSSerializer lsSerializer = domImplementationLS.createLSSerializer(); lsSerializer.getDomConfig().setParameter( "format-pretty-print", Boolean.TRUE); lsSerializer.write(node, lsOutput);
} finally { context.close(); } } }
And the exception:
Caused by: java.lang.NullPointerException at com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.prepareForSerialization( DOMSerializerImpl.java:1064) at com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.write( DOMSerializerImpl.java:747) ... 1 more
I am using the latest snapshot: BaseX76-20130131.202759
Can you help me?
Mit freundlichen Grüßen/Best regards Dr. Michael Hedenus Software Developer Powertrain Engine Systems CSW ETV RGB T2 PIXEL GmbH Im Gewerbepark C15, 93059 Regensburg, Germany
Telefon/Phone: +49 941 790-6362 Telefax: +49 941 79013-90771 E-Mail: michael.hedenus-ext@continental-corporation.com www.continental-corporation.com ______________________________________________________________________ Continental Automotive GmbH, Siemensstr. 12, 93055 Regensburg, Germany Geschäftsführer/Managing Directors: Helmut Matschi, Gérard Cordonnier, Harald Stuhlmann Sitz der Gesellschaft/Registered office: Hannover Registergericht/Commercial registry: Hannover, HRB 59424, USt-Id. Nr. DE814950663 _______________________________________________________________________ Proprietary and confidential. Distribution only by express authority of Continental AG or its subsidiaries.