首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML解析:使用digester检索xml中的多行

XML解析:使用digester检索xml中的多行
EN

Stack Overflow用户
提问于 2013-02-25 08:05:15
回答 1查看 208关注 0票数 0

当解析一个像下面这样的xml文件时,我想要得到一个特定i的电话号码列表。我正在使用Digester来做调用。我不知道如何添加this.But方法或创建对象.Can任何人帮助我使用this.My xml文件包含1000种类型。

代码语言:javascript
复制
<?xml version='1.0' encoding='utf-8'?>
<address-book>
<contact type="individual">
    <id>50</id>
    <city>New York</city>
    <province>NY</province>
    <postalcode>10013</postalcode>
    <country>USA</country>
<address>
    <telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
</address>
</contact>
<contact type="business">
    <id>52</id>
    <city>Zagreb</city>
    <province></province>
    <postalcode>10000</postalcode>
    <country>Croatia</country>
<address>
    <telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
<telephone>1-212-345-6789</telephone>
</address>
</contact>

另外,当我获得所需的Id时,我应该如何停止解析。

EN

回答 1

Stack Overflow用户

发布于 2013-02-25 09:41:05

虽然这个问题是特定于使用apache-commons-digester的,但是这个问题可以通过XML系列函数中已有的库来解决--即结合了XPath搜索的SAX解析器。如果要搜索的内容是已知的,则XPath查询可以相对高效地找到数据,而不是暴力地遍历数据。否则,如果为了索引或其他目的而遍历整个数据集,同样建议使用简单的SAX解析器并遍历元素(同样可以通过//MyElement类型的XPath查询),然后对于每个实例,将值传递给函数以进行索引或其他操作。apache-commons-digester对于所需的内容可能过于复杂和/或速度较慢。

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

https://stackoverflow.com/questions/15058229

复制
相关文章

相似问题

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