首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLPullParser特殊字符

XMLPullParser特殊字符
EN

Stack Overflow用户
提问于 2012-06-29 17:39:20
回答 2查看 924关注 0票数 0

我使用XMLPullParser来解析一个XML文档,不幸的是它包含一些特殊的字符,比如:

或者&...这些字符似乎会中断解析过程,并且只显示这些字符之后的文本,而不显示之前的文本(如果特殊字符出现在某些文本内容的中间)。我无法控制此XML文件,因此我必须在解析文档时修复此问题。

我该怎么做呢?我已经做了一些研究,结果表明我能够实现一个名为ENTITY_REF的eventType,但我不知道如何处理这种方法。

会很高兴得到一些提示。

我的解析器:

代码语言:javascript
复制
    while (eventType != XmlPullParser.END_DOCUMENT) {
        if (eventType == XmlPullParser.START_TAG) {
            currentTag = xpp.getName();

        } else if (eventType == XmlPullParser.TEXT) {

            if ("title".equals(currentTag)) {
                currentEvent.setTitle(xpp.getText());
                System.out.println("Event title: " + xpp.getText());
            } 
        } else if (eventType == XmlPullParser.END_TAG) {
            if ("event".equals(xpp.getName())) {
                events.add(currentEvent);
                currentEvent = new Event();
            }
        }  else if (eventType == XmlPullParser.ENTITY_REF) {
            System.out.println("Entity REF: " + xpp.getText());
        }


        eventType = xpp.nextToken();
    }
EN

回答 2

Stack Overflow用户

发布于 2012-06-29 19:34:11

与SAX类似,XMLPullParser是一个非常低级的解析接口,它以相当高的可用性为代价实现了高性能。解析器可以自由地将文本节点分解为片段,而您的代码需要接受一系列片段并将它们组装成实际的字符串值。

票数 1
EN

Stack Overflow用户

发布于 2012-06-29 19:38:49

你为什么不扩展DefaultHandler,它更容易使用,并且使你的代码更可重用。我想你不会遇到这样的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11259448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档