SAX 解析器中的 Character() 方法
Character() method in SAX parser
在使用 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()
方法会被调用,索引只到特殊 character.How 我能克服吗?
在 <details>...</details>
中,字符事件可能会被调用 几次 次以提供一部分文本。
XML 文件采用某种编码,默认为 UTF-8。使用 Notepad++ 或 JEdit 等程序员的编辑器,您可以轻松找到它。这应该与第一行相同:
<?xml version="1.1" encoding="Windows-1252">
如果您将 XML 作为字符串,那么您已经拥有 Unicode。文本应该被正确阅读。那可能做错了。用 Reader.
解析
字符编码转换好像出错了
解析器有权在任意位置分解文本节点,在多次调用 characters() 时传递文本。解析器在看到实体或字符引用时中断文本是很常见的,但这只是为了实现者的方便,并不能以任何方式保证。
在使用 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()
方法会被调用,索引只到特殊 character.How 我能克服吗?
在 <details>...</details>
中,字符事件可能会被调用 几次 次以提供一部分文本。
XML 文件采用某种编码,默认为 UTF-8。使用 Notepad++ 或 JEdit 等程序员的编辑器,您可以轻松找到它。这应该与第一行相同:
<?xml version="1.1" encoding="Windows-1252">
如果您将 XML 作为字符串,那么您已经拥有 Unicode。文本应该被正确阅读。那可能做错了。用 Reader.
解析字符编码转换好像出错了
解析器有权在任意位置分解文本节点,在多次调用 characters() 时传递文本。解析器在看到实体或字符引用时中断文本是很常见的,但这只是为了实现者的方便,并不能以任何方式保证。