android界面xml解析器,简单的XML解析器框架问题 - XML解析Android中

XStream的是很容易(在Android上工作,没有依赖)。

它不是像Simple或JAXB那样的ORM库,而是专注于拉解析规范给予我们的最大解析性能,但是XPath的飞溅提供了易于定义的解析规则,而不是自己管理pull语法分析器的状态。

例如,您将针对在XML的某些元素与规则,像这样(这是我与它内置的RSS解析器为例):

IRule linkRule = new DefaultRule(Type.CHARACTER, "/rss/channel/item/link") {

@Override

public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {

// 'text' is the link; store it, print it, whatever you need...

}

}

您可以定义任意数量的规则,并给他们到XMLParser(可重用)的一个实例,然后根据这些规则将它的InputStreams用于XML解析。

拉解析器的SJXP ontop的解析开销接近零(内存和CPU开销) - 它实际上相当于1次哈希代码计算,然后只是整数比较,看看是否有规则匹配XML解析器在运行内容时的当前位置。

它支持的属性和特征数据 - 图书馆甚至有通过使用[] -notation支持命名空间一个很好的和优雅的方式......例如:

IRule channelSubjectRule = new DefaultRule(Type.CHARACTER, "/rss/channel/[http://purl.org/dc/elements/1.1/]subject") {

@Override

public void handleParsedCharacters(XMLParser parser, String text, Object userObject) {

// Got the Channel's dc:subject value! I win!

}

}

库并不意味着是另一种神秘的抽象,隐藏你的一切;它的含义要低一点,但仍然高于STAX解析,而不会引入内存或CPU膨胀到嵌入式或高性能系统的解析过程(这是为在长时间运行的spidering过程中使用的feed解析器编写的) )。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值