首页 新闻 搜索 专区 学院

提取xml文档中某个节点的部分内容

0
悬赏园豆:5 [已解决问题] 解决于 2013-11-09 09:42
<category>
    <pattern>模式</pattern>
    <template>
            你好
            <think>
        <set name="it">
            <set name="topic">话题</set>
        </set>
        </think>
            思考
    </template>
</category>                        

如上,我想要提取template标签下“你好”的内容,但是我用

element.getText();获取到的是“你好思考”,该方法好像是提取该标签下所有文本,请问我要怎样才能只提取,并替换该部分文本呢?

kkrimen的主页 kkrimen | 初学一级 | 园豆:199
提问于:2013-11-08 19:34
< >
分享
最佳答案
1

getText是所取所有的text 可以获取后再做处理有如下方法可以处理

substring()截取指定位置的字符,

indexof()获取指定字符在字符串中的位置然后再用substring 去截取指定位置的字符

这个是我常用的方法

收获园豆:5
Zery | 大侠五级 |园豆:6139 | 2013-11-09 09:19

这位兄弟,谢谢你的回答啊。

不过我在不知道这些内容的情况下用substring(),indexof()好像没什么用啊。

我这里采取的解决方法是用sax来解析的,sax是以流的方式来解析,当他遇到节点开始是能够触发characters(...)这个方法,从而可以获取到下个节点开始时的text内容,这样就能满足我的要求了,不过sax是不能修改xml的,所以我的修改方法是利用stringbuilder一步一步的生成xmlstring,最后重新生成并覆盖原来的xml文件,如果你有更好的办法,请一定告诉我

kkrimen | 园豆:199 (初学一级) | 2013-11-09 09:39

还有因为这个我的第一个提问,你也是第一个回答者,我决定把这分数给你了O(∩_∩)O~~

kkrimen | 园豆:199 (初学一级) | 2013-11-09 09:42

@kkrimen:  哈哈 那我运气真好~~~ 

Zery | 园豆:6139 (大侠五级) | 2013-11-09 09:43
其他回答(1)
0

用sax解析,然后重新生成xml并覆盖

kkrimen | 园豆:199 (初学一级) | 2013-11-09 09:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册