0

次のような XML があります。

<StartTag>
    <MyValueTag>And the value itself contains a < bracket that makes the XML invalid</MyValueTag>
</StartTag>

XML に、XML を無効にする「<」文字が含まれています。

最も簡単な方法は、XML のソースを修正することですが、残念ながら、XML の作成を制御することはできません。「The value is < than 10」のようなメッセージがあり、「未満」であると想定されます。

とにかく、このようなものについて XML をチェックし、それらの文字をエスケープする方法はありますか?

この投稿を見て、男がJTidyを使用する必要があることを示しました。しかし、試してみたところ、<:

Tidy tidy = new Tidy();
tidy.setInputEncoding("UTF-8");
tidy.setOutputEncoding("UTF-8");
tidy.setWraplen(Integer.MAX_VALUE);
tidy.setPrintBodyOnly(true);
tidy.setXmlOut(true);
tidy.setSmartIndent(true);
ByteArrayInputStream inputStream = new ByteArrayInputStream(data.getBytes("UTF-8"));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
tidy.parseDOM(inputStream, outputStream);
4

1 に答える 1