У меня есть строка, как показано ниже (чтение из файла и хранится в виде строки)подстроку строки на основе состояния
<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, но не использовать .. :( – Dileep
использовать парсер DOM или SAX. Я вижу, что кто-то уже предложил DOM, поэтому здесь SAX: http://docs.oracle.com/javase/7/docs /api/javax/xml/parsers/SAXParser.html – Ian2thedv