Java Codenameone读取xml标记

Java Codenameone读取xml标记,java,xml,codenameone,Java,Xml,Codenameone,我正在使用Codename One的XML解析器解析一个XML文件,如下所示: <string name="P0001">aaaaaaaaaaaaaaaaaa</string> <string name="P0002">bbbbbbbbbbbbbbbbbb</string> <string name="P0003">cccccccccccccccccc</string> Element child = (Element)e

我正在使用Codename One的XML解析器解析一个XML文件,如下所示:

<string name="P0001">aaaaaaaaaaaaaaaaaa</string>
<string name="P0002">bbbbbbbbbbbbbbbbbb</string>
<string name="P0003">cccccccccccccccccc</string>
Element child = (Element)e.getTextChildren(null, true).get(0);
Log.p(child.getText());

那么如何在这段代码中获取文本元素呢?

这不是很直观,因为DOM要求文本元素位于单独的元素中,因为它不“知道”文本中是否混合了标记。例如,类似这样的内容完全是合法的XML:

<string>aaaaaa<sometag/>aaaaa</string>

在您的情况下,这是多余的,因为您知道中间不会有标签,但是对于兼容DOM,仍然使用相同的语义SP,使文本儿童应该这样工作:

<string name="P0001">aaaaaaaaaaaaaaaaaa</string>
<string name="P0002">bbbbbbbbbbbbbbbbbb</string>
<string name="P0003">cccccccccccccccccc</string>
Element child = (Element)e.getTextChildren(null, true).get(0);
Log.p(child.getText());

请注意,我过于简化了,并假设不会出现类似于
的情况,但我相信您将能够在需要时找到如何处理的方法…

标签是aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。这并不完全直观,因为DOM要求文本元素位于单独的元素中,因为它不“知道”是否在文本中混合标记。但这应该是可行的:
Element child=(Element)e.getTextChildren(null,true).get(0);Log.p(child.getText())谢谢大家。也许我没有很好地解释它,但我需要的是一个函数,每当我发送'P0001'和/或'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC。请记住,xml文件大约有3500行。放置的示例仅读取第一条xml记录。谢谢。答案中的XML进入编辑问题的for循环,它将按预期工作。