2013-01-11 40 views
0

我有一个字符串,它是巨大的,它的一部分包含如下所示:在Java中使用正则表达式提取XML标签的内容

<df>asdffs</df><titletext xml:lang="eng" original="y">Dose intensity <inf>low</inf> in advanced cancer: Have we answered the question?</titletext><sdf>gfdgas</sdf> 

我需要找到,如果在<titletext>标签存在<inf>标签。 我正在用Java编写它。

在此先感谢。

+8

不要使用正则表达式来解析xml。使用xml库代替 – gefei

+0

@gefei OP不想使用'regexp'解析'xml'。他希望用某种模式来匹配一些标签。 –

回答

0

我强烈建议使用XML解析器(SAX,因为您的文档应该很大 - 它不会一次将所有文档加载到内存中,而是将其流式传输),并以此方式对其进行解析。你会避免一切形式的边缘案件正则表达式处理程序无法处理(因为XML不是定期

在你上面的例子,你应该维护可能遇到的XML元素的堆栈,如果跟踪<inf>前面有<titletext>

+0

一些示例代码应该很好;-) OP可能从来没有与这样的库一起工作,所以很可能这个问题将被提升为正确性,但由于OP是理论性的,所以OP不会从中受益。 – siebz0r

相关问题