【发布时间】:2015-02-26 08:47:00
【问题描述】:
我有一个如下所示的字符串(从文件中读取并存储在字符串中)
<textmessages>
<textMessage timestamp="1424708212905">
<property name="tcs_car_kind" value="M32"/>
<property name="prev_cmdy_abrv" value="AUTOS"/>
<text><![CDATA[event_code="AP"]]></text>
</textMessage>
<textMessage timestamp="1424708212902">
<property name="shp_prim" value=""/>
<property name="prev_cmdy_abrv" value="AUTOS"/>
<text><![CDATA[event_code="CP"]]></text>
</textMessage>
<textMessage timestamp="1424708212902">
<property name="co_part_frm_nbr" value=""/>
<property name="prev_cmdy_abrv" value="AUTOS"/>
<text><![CDATA[event_code="LP"]]></text>
</textMessage>
</textmessages>
要求:
如果字符串值与 'event_code="CP"' 匹配,则我需要返回 <textmessage> ---- </textmessage> 之间的完整数据,如下所示。
<textMessage timestamp="1424708212902">
<property name="co_part_frm_nbr" value=""/>
<property name="shp_prim" value=""/>
<property name="prev_cmdy_abrv" value="AUTOS"/>
<text><![CDATA[event_code="CP"]]></text>
</textMessage>
【问题讨论】:
-
使用了 stingtokenizer 但没用..:(
-
使用 DOM 或 SAX 解析器。我看到有人已经建议了 DOM,所以这里是 SAX:docs.oracle.com/javase/7/docs/api/javax/xml/parsers/…
标签: java substring string-utils