• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

how to ignore whitespace in xml

 
Ranch Hand
Posts: 86
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi!Experts
Im trying to parse a xml file using JAXP.In the application im also using xpath to find and traverse the xml file.
The probelm is that the method setIgnoringElementContentWhitespace()is not working.

Here is the code....
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docFile);
Element root = doc.getDocumentElement();
Node configNode = root.getFirstChild();
System.out.println(configNode);
NodeList childNodes = configNode.getChildNodes();
System.out.println("There are "+childNodes.getLength()
+" nodes in this document.");
for (int childNum = 0;childNum < childNodes.getLength();childNum++)
{
if ( childNodes.item(childNum).getNodeType() == Node.ELEMENT_NODE )
{
Element child = (Element) childNodes.item( childNum ) ;
if ( child.getTagName().equals( "header" ) )
{
// Do something with the header
System.out.println("Got a header!");
System.out.println("Header contents:" +
getTextContents( childNodes.item( childNum ) ) );
}
}
}

This is my xml file
<sample><config>
<userid>Jack</userid>
<password>secret</password>
<header>reroute
other
<b>Random</b> text.</header>
<location>California</location>
</config></sample>

But when I change the xml file to sumething like this....
<sample>
<config>
<userid>Jack</userid>
<password>secret</password>
<header>reroute other<b>Random</b>text.</header>
<location>California</location>
</config>
</sample>
Im getting following error
[sample: null]
[#text:
]
There are 0 nodes in this document.
Now, using the helper function findValue:
reroute othertext.
so, childNodes.getLength() is giving me o nodes when the xml form changes.

Even after using dbf.setIgnoringElementContentWhitespace(true);

Can any one plz tel me how to ignore the whitespace in the xml file.
If possible plz give a code snippet.
Many thanks in advance
Regards
Ved Gunjan
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'd suggest trying to make your code adapt to situations where you might encounter Text nodes in between Element nodes.
 
reply
    Bookmark Topic Watch Topic
  • New Topic