我有一个复杂的xml字符串,我必须解析我检索一些数据,这里是内容:
<root1>
<root2>
<A>something</A>
<B>something</B>
<C>
<D>
<GetE>DataE</GetE>
<GetF>DataF</GetF>
<G>something</G>
<H>something</H>
<I>
<J>
<GetK>DataK</GetK>
<GetL>DataL</GetL>
</J>
</I>
</D>
<D>
<GetE>DataE</GetE>
<GetF>DataF</GetF>
<G>something</G>
<H>something</H>
<I>
<J>
<GetK>DataK</GetK>
<GetL>DataL</GetL>
</J>
</I>
</D>
</C>
</root2>
</root1>
我想打印GetE
,GetF
,GetK
和GetL
的内容:
例如:
GetE = DataE,GetF = DataF,GetK = DataK,GetL = DataL
GetE = DataE,GetF = DataF,GetK = DataK,GetL = DataL
...
要将我的String数据转换为XML,我使用此函数In Java, how do I parse XML as a String instead of a file?
请问好吗?
答案 0 :(得分:0)
首先,检查更适用于您的案例的this answer。 XPath是一种方便易用的技术,可以提取您所寻求的信息,但性能要求可能会有所不同。
在您的情况下,xpath表达式将是::
"root1/root2/C/D/GetE/text()"
"root1/root2/C/D/GetF/text()"
但正如其他人所评论的那样,“root1 / root2 / C / D / GetE”不会返回单个节点,因此您必须决定如何表示信息。
答案 1 :(得分:0)
也许有一种更简单的方法,但SAXParser会做这项工作。