Android dom解析器 - 非法字符异常

问题描述:

我需要解析我的Android应用程序中的xml文档,并使用Dom解析器。在我的xml文件中编码设置为UTF-8。我使用的代码解析如下:Android dom解析器 - 非法字符异常

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db = dbf.newDocumentBuilder(); 
    InputStream inStream = getAssets().open("words.xml"); 
    InputSource inSource = new InputSource(inStream); 
    inSource.setEncoding("UTF-8"); 
    Document doc = db.parse(inSource); 

但问题是,我得到一个非法的字符异常。这是有问题的节点结构如下:

<obriši> 
     <item>obriši</item> 
     <item>ukloni</item> 
    </obriši> 

可能是什么问题呢?

+0

如果你改变输入标签' ...'会发生什么?不确定,但我认为标签名称必须是ASCII。标记内容的UTF-8应该没问题。 – Axel 2013-02-18 10:00:03

+0

@Axel这是问题所在。但根据XML建议,它不应该是问题。但根据这个问题[链接](http://stackoverflow.com/questions/10692693/error-when-parsing-an-xml-file-to-dom)Android中有一些奇怪的行为。最后,我改变了我的XML文件的结构,并创建了一个新的解析器 – sinisha 2013-02-18 12:17:10

尝试用

inSource.setEncoding("windows-1251"); 
+0

我试过了。但它没有帮助:/ – sinisha 2013-02-18 12:11:13