2012-04-16 34 views
3

従来のJavaMEプロジェクトでkXML2を使用しています。 一部の属性にエンコードされたエンティティが含まれているXMLを受け取りました。私はコールとその属性の値を取得する場合:XmlPullParserExceptionエンティティを含む解析属性

parser.getAttributeValue 

それは例外がスローされます。

XmlPullParserException: unresolved 

私はこのパーサの最後のバージョンをダウンロードしているが、それはまだ、この挙動を示しています。

XMLから問題のある行を削除すると、エラーはありません。

parser.setFeature(KXmlParser.FEATURE_PROCESS_DOCDECL, true); 

しかし、この実装は、その行が呼び出される例外をスロー:あなたは、このプロパティを設定しない限り

パーサは、属性内のエンティティをデコードする必要があります。

答えて

2

は[OK]を、ここで何が起こっているかです。 Allright、パーサのソースコードをデバッグしました。このプルパーサーの実装では、あまり一般的ではないエンティティに問題があることがわかりました。

だから私はこのように、それを動作させるために私自身の「奇数」の実体を持つパーサ実体の置換マップを膨らませる必要があります。

parser.defineEntityReplacementText("Ntilde", "Ñ"); 

そして、すべてが正常に動作します。

関連する問題