| Author |
simple JAXPquestion
|
Marina Smith
Greenhorn
Joined: Oct 03, 2003
Posts: 1
|
|
I am tring to parse a simple xml: <?xml version="1.0" encoding="UTF-8"?> <cp-datasource> <name>name</name> <password>password</password> <url>url</url> </cp-datasource> DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse(new File(file)); Node datasource = document.getDocumentElement(); NodeList l = datasource.getChildNodes(); System.out.println(l.getLength()); Node n = l.item(0); Node p = l.item(1); Node u = l.item(2); Text name = (Text) n.getFirstChild(); Text password = (Text) p.getFirstChild(); Text url = (Text) u.getFirstChild(); System.out.println(name.getData()); System.out.println(password.getData()); System.out.println(url.getData()); System.out.println(l.getLength()); - returns 7 I get null pointer Please help..
|
 |
Lasse Koskela
author
Sheriff
Joined: Jan 23, 2002
Posts: 11962
|
|
|
Marina, the problem is that the XML parser parses whitespace into #text nodes, which causes the NodeList to be of length 7. You can fix this by either removing all whitespace from the XML document (everything on a single line) or by adding the necessary logic into your tree-traversing Java code for ignoring all whitespace nodes.
|
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
|
 |
 |
|
|
subject: simple JAXPquestion
|
|
|