在使用SAX解析器解析XML文件时,SAX解析器调用的character()方法究竟是什么时候? 更具体地说,我的XML文件有许多学生标签
<Student>
<details>
/*
Contains the details of student
This piece of text may have many special characters
*/
</details>
</Student>
我希望所有学生的所有细节都存储在一个arrayList中..但是我发现如果有一些特殊字符,character()
方法只能使用索引调用特殊字符。我怎样才能克服此?
答案 0 :(得分:2)
解析器有权在任何地方分解文本节点,通过多次字符调用()传递文本。解析器在看到实体或字符引用时打破文本是很常见的,但这只是为了实现者的方便而且无论如何都没有保证。
答案 1 :(得分:1)
在<details>...</details>
内,角色事件可能会被称为几个次,以提供一部分文字。
XML文件采用某种编码方式,默认为UTF-8。使用像Notepad ++或JEdit这样的程序员编辑器,您可以轻松找到它。这应该与顶线相同:
<?xml version="1.1" encoding="Windows-1252">
如果你有XML作为String,那么你已经有了Unicode。该文本应该已正确阅读。这可能是错误的。用读者解析。
字符编码转换似乎出错了。