以下は、私はあなたがやりたい助けることができると考えているサンプルです:
private void loadXML(Reader reader) throws ParserConfigurationException, SAXException {
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
parserFactory.setValidating(true);
SAXParser parser = parserFactory.newSAXParser();
parser.parse(new InputSource(reader), new MyHandler());
}
private static class MyHandler
extends DefaultHandler {
private static final String PREFS_DTD_URI = "http://www.example.com/dtd/document.dtd";
public InputSource resolveEntity(String publicId, String systemId) throws SAXException {
if (systemId.equals(PREFS_DTD_URI)) {
InputSource is = new InputSource(new StringReader(PREFS_DTD)); // PREFS_DTD is a string containing actual DTD, any other Reader could be here
is.setSystemId(PREFS_DTD_URI);
return is;
}
// else use the default behaviour
return null;
}
}
parserFactory.setValidating(真の); AndroidでParser ConfigurationExceptionを与え、検証の実装がサポートされていないことを警告します。それはJavaでは動作しますが、Androidでは動作しません。アンドロイドでdtd検証を行う他の方法はありますか? –
@Mdroid、申し訳ありませんが、おそらく私は "アンドロイド"タグを見逃しました。質問自体はアンドロイドのプラットフォームに関するものではありません。あなたは問題を解決しましたか? –
申し訳ありませんが、問題の「Androidプラットフォーム」については言及していません。そして、私はこれでこれ以上のことはできません。 –