以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- SAX不能正确处理特殊字符的转义实体? (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=62800) |
-- 作者:jiangshachina -- 发布时间:5/19/2008 9:31:00 AM -- SAX不能正确处理特殊字符的转义实体? 刚刚学习使用SAX解析XML,遇到了两个问题。 全部程序如下: public class SimpeXmlHandler extends DefaultHandler { private String str = null; private String element = null; public void startElement(String namespaceURI, String localName, public void endElement(String uri, String localName, String qName) public void characters(char[] chars, int start, int length) import javax.xml.parsers.SAXParser; import org.xml.sax.InputSource; public class SimpleXmlTest { public static void main(String[] args) throws Exception { 执行SimpleXmlTest解析如下的XML文件, 将XML文件的内容换成如下: 再将XML文件的内容换成如下: 似乎SAX会自动地把">"转换成">",这样就造成了错误。 另,将XML文件的内容换成如下: 希望大家能为我解惑,谢谢! |
-- 作者:jiangshachina -- 发布时间:5/19/2008 9:36:00 AM -- 我直接使用DK 1.4.2中包org.xml.sax和javax.xml.parsers的API。 |
-- 作者:Qr -- 发布时间:5/19/2008 10:21:00 AM -- 试试看将">","<","&" 转换为对应的 >,<,&,没有测试。 至于最后一个问题,很多SAX默认将注释当作节点来处理,java会不会也一样,你可以查一下相关说明。 |
-- 作者:jiangshachina -- 发布时间:5/19/2008 10:43:00 AM -- 感谢上面的回复。 > 试试看将">","<","&" 转换为对应的 >,<,&,没有测试。 |
-- 作者:Qr -- 发布时间:5/19/2008 10:50:00 AM -- 平时没太注意这个问题,遇到特殊字符,我一般用<![CDATA[特殊字符]]> |
-- 作者:jiangshachina -- 发布时间:5/19/2008 10:56:00 AM -- > 平时没太注意这个问题,遇到特殊字符,我一般用<![CDATA[特殊字符]]> 因为提供的数据源(即XML文件)中就有这些字符,我不可能对其进行修改。 实际上,content元素的值是一段HTML语句(特殊字符已经转义过了),所以里面不可避免的会存在>,<,&,...等语句。 而且,之前使用DOM4J时,没有遇到过这个问题,只是现在希望使用SAX。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |