3

次のようにコメントアウトされたXMLタグを解析する必要があります

<DataType Name="SecureCode" Size="4" Type="NVARCHAR">
    <!-- <Validation>
            <Regex JavaPattern="^[0-9]*$" JSPattern="^[0-9]*$"/>
    </Validation> -->
    <UIType Size="4" UITableSize="4"/>
</DataType>

しかし、私が見つけたのはsetIgnoringComments(boolean)

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

しかし、何も変わっていないようです。このコメントを解析する他の方法はありますか? DOM を使用する必要があります。

よろしく

4

2 に答える 2

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());
        }
    }
于 2013-11-15T08:53:39.093 に答える
0

問題を解決する「通常の方法」が存在しないように思われるため、コメントを削除しました。

BufferedReader br = new BufferedReader(new FileReader(new File(PathChecker.getDataTypesFile())));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(PathChecker.getDataTypesFileWithoutComments())));

String line = "";

while ((line = br.readLine()) != null) {
    line = line.replace("<!--", "").replace("-->", "") + "\n";
    bw.write(line);
}
于 2013-11-15T08:46:26.527 に答える