Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

DocumentBuilderFactory parser returns doc: [#document: null]

 
Max Tomlinson
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all-

I want to update an xml doc before I send it but can't get DocumentBuidlerFactory to work, even with a simple doc: e.g.
<?xml version="1.0" ?>
<earth>
<country>us</country>
</earth>

I've tried many combinations of setting various properties to DBF all to no avail.

my code:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
String p = System.getProperty("javax.xml.parsers.DocumentBuilderFactory");
log(p);
//this displays: JAXP: find factoryId =javax.xml.parsers.DocumentBuilderFactory
//JAXP: loaded from fallback value: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
//JAXP: created new instance of class com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl using ClassLoader: null
DocumentBuilder db = dbf.newDocumentBuilder();
//File f = new File(fn);
Document doc = db.parse(fn);
//this returns a doc with [#document: null]
NodeList nl = doc.getElementsByTagName("Address");
Node n = nl.item(0).getFirstChild();
n.setNodeValue("myAddress");
// text.setLength(0);
// String docStr = getStringFromDocument(doc);
// if (null==docStr) {
// status = "Error on doc transform " + status;
// log.error(status);
// return status;
// }
// log.info(docStr);
// text.append(docStr);
} catch (Exception e) {
e.printStackTrace();
String status = "Exception on attempting to update Subscribe request " + e.getMessage();
log(status);
}

}

 
Max Tomlinson
Ranch Hand
Posts: 365
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My error -
there was nor problem with document: null which was my assumption.
I was imply not using the ns prefix when I tired to get elements by tagname.

thanks
Max
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic