使用DOM解析XML注释

Mic*_*ael 3 java xml parsing dom xml-parsing

我需要解析被注释掉的XML标签

<DataType Name="SecureCode" Size="4" Type="NVARCHAR">
    <!-- <Validation>
            <Regex JavaPattern="^[0-9]*$" JSPattern="^[0-9]*$"/>
    </Validation> -->
    <UIType Size="4" UITableSize="4"/>
</DataType>
Run Code Online (Sandbox Code Playgroud)

但我发现的只是 setIgnoringComments(boolean)

Document doc = docBuilder.parse(new File(PathChecker.getDataTypesFile()));
docFactory.setIgnoringComments(true); // ture or false, no difference
Run Code Online (Sandbox Code Playgroud)

但它似乎没有改变任何东西.有没有其他方法来解析这些评论?我必须使用DOM.

问候

pas*_*701 5

方法"setIgnoringComments"在解析期间从DOM树中删除了注释.使用"setIgnoringComments(false)",您可以获得以下注释文本:

    NodeList nl = doc.getDocumentElement().getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        if (nl.item(i).getNodeType() == Element.COMMENT_NODE) {
            Comment comment=(Comment) nl.item(i);
            System.out.println(comment.getData());
        }
    }
Run Code Online (Sandbox Code Playgroud)