[已解决]如何根据标签来提取XML中的部分内容(正则请教)?
本帖最后由 shqf 于 2012-2-25 15:55 编辑有一XML文档,中有多对<item></item>标签,欲提取<item>和</item>标签中的内容(有多行,行数不定)。如下的方法<item>(((.*\n.*)+)(</item>)?)能取到第一对<item>和</item>中的内容,再提取到的是其后文档的全部内容了。我刚开始学正则,一天了,实在没有能力解决,特请教论坛各位达人,该如何写这个正则表达式呢?
附文档部分内容:
...<item> <word>sensible</word>
<trans><![CDATA[n. 可感觉到的东西;敏感的人
adj. 明智的;明显的;意识到的;通晓事理的
]]></trans>
<phonetic><!]]></phonetic>
<tags>161</tags>
<progress>1</progress>
</item><item> <word>sense</word>
<trans><![CDATA[n. 感觉,官能;观念;道理;理智
vt. 感觉到;检测
]]></trans>
<phonetic><!]]></phonetic>
<tags>161</tags>
<progress>1</progress>
</item><item> <word>senior</word>
<trans><![CDATA[n. 上司;较年长者;毕业班学生
adj. 高级的;年长的;地位较高的;年资较深的,资格较老的
]]></trans>
<phonetic><!]]></phonetic>
<tags>161</tags>
<progress>1</progress>
</item>.... 呵呵,搞到现在,终于懂了,要使用非贪婪模式。正则如下:<item>([\s\S]*?)</item> 恭喜努力出成果了,自己搞定有很大的成就感吧? 我感觉au3不好超控xml
页:
[1]