用DOM解析XML怎么老有#TEXT的啊

2024-11-10 15:02:28
推荐回答(1个)
回答1:

在那个输出的for循环里,你应该加上一句判断。
if(node2 instanceof  Element){
    String string = node2.getNodeName();
    String ste = node2.getTextContent();
    System.out.println(string+"  "+ste);
}

  出现这种问题的原因主要是使用org.w3c.dom.Node的进行解析的,它会将你的回车也作为一个节点。在你的代码中你打印str.getLenth();得到的数值肯定比你写的节点要多。

如果:node2 instanceof Text,则输出:#text

如果:node2 instanceof Element,则输出:标签名

  

  • 附:我的一个小例子