N
nuthinking
I can't believe I'm stuck on this, but
DocumentBuilderFactory.setIgnoringElementContentWhitespace doesn't
seem to work at all, I still get the new lines as text elements :S
Any idea?
Here the small code I used:
protected static void parseDom(File file)
{
// TODO Auto-generated method stub
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder parser;
try {
parser = factory.newDocumentBuilder();
Document document = parser.parse(file);
NodeList list = document.getChildNodes();
int len = list.getLength();
System.out.println("#parseDom: len:" + len);
for (int i = 0; i < len; i++) {
Node element = list.item(i);
parseNode(element);
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void parseNode(Node node)
{
System.out.println("#parseNode:" + node.getNodeName() + " = " +
node.getNodeValue() + " type:" + node.getNodeType());
NamedNodeMap attributes = node.getAttributes();
if(attributes != null){
int len = attributes.getLength();
for (int i = 0; i < len; i++) {
Node attr = attributes.item(i);
parseAttribute(attr);
}
}
if(!node.hasChildNodes()) return;
NodeList list = node.getChildNodes();
int len = list.getLength();
System.out.println("-- num children: " + len);
for(int i= 0; i<len; i++) {
Node child = list.item(i);
parseNode(child);
}
System.out.println("------");
}
private static void parseAttribute(Node node)
{
// TODO Auto-generated method stub
System.out.println("#parseAttribute:" + node.getNodeName() + " = " +
node.getNodeValue());
}
Thanks,
chr
DocumentBuilderFactory.setIgnoringElementContentWhitespace doesn't
seem to work at all, I still get the new lines as text elements :S
Any idea?
Here the small code I used:
protected static void parseDom(File file)
{
// TODO Auto-generated method stub
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder parser;
try {
parser = factory.newDocumentBuilder();
Document document = parser.parse(file);
NodeList list = document.getChildNodes();
int len = list.getLength();
System.out.println("#parseDom: len:" + len);
for (int i = 0; i < len; i++) {
Node element = list.item(i);
parseNode(element);
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void parseNode(Node node)
{
System.out.println("#parseNode:" + node.getNodeName() + " = " +
node.getNodeValue() + " type:" + node.getNodeType());
NamedNodeMap attributes = node.getAttributes();
if(attributes != null){
int len = attributes.getLength();
for (int i = 0; i < len; i++) {
Node attr = attributes.item(i);
parseAttribute(attr);
}
}
if(!node.hasChildNodes()) return;
NodeList list = node.getChildNodes();
int len = list.getLength();
System.out.println("-- num children: " + len);
for(int i= 0; i<len; i++) {
Node child = list.item(i);
parseNode(child);
}
System.out.println("------");
}
private static void parseAttribute(Node node)
{
// TODO Auto-generated method stub
System.out.println("#parseAttribute:" + node.getNodeName() + " = " +
node.getNodeValue());
}
Thanks,
chr