JAVA Ignore注释掉了xml标签

时间:2015-05-12 11:09:33

标签: java xml dom xml-parsing

虽然我正在解析XML文档,但我会将代码注释为节点(这是一个不好的开头),我不知道我们何时有一个注释掉的节点/批量而不是解析它。

这是解析XML元素的代码:

private static boolean updateXML(File file, Document doc, NodeList nodeList) 
{
    if(nodeList==null)
        return false;

    boolean somethingChanged = false;
    for(int i=0;i<nodeList.getLength();i++)
    {
        if(nodeList.item(i).hasChildNodes())
        {
            somethingChanged |= updateXML(file, doc, nodeList.item(i).getChildNodes());
        }
        else
        { ... }
    }
}

当我调试它时,我可以看到注释掉的部分被提升为一个完整的节点。

我如何忽略这些评论?

2 个答案:

答案 0 :(得分:4)

使用此:

Node node = nodeList.item(i);
if(node.getNodeType() == Node.COMMENT_NODE) {
    continue;
} else {
    //do something
}

答案 1 :(得分:0)

使用DocumentBuilderFactory,您可以设置为完全忽略文件中的注释。

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setIgnoringComments(true);

现在解析任何文件:

DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(filePath);

该文件不包含任何评论。