Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将块生成的XML代码解析为Java对象_Java_Android_Xml Parsing_Blockly - Fatal编程技术网

将块生成的XML代码解析为Java对象

将块生成的XML代码解析为Java对象,java,android,xml-parsing,blockly,Java,Android,Xml Parsing,Blockly,我必须解析块生成的XML代码。通常我使用Xstream解析器来解析XML。但XStream解析器无法工作,因为此XML的子标记与父标记同名。 我找到了一个库,它可以将块状xml代码转换为Java对象。但对于下面所示的复杂的块状XML代码,该库失败。我尝试编辑库以启用以下xml代码的解析。但它不起作用 没有一个 符合事实的 服务类别表 连载 显示 4930 隐藏 4932 显示 4961 隐藏 4930 显示 4932 隐藏 4961 基于流的XML解析器需要维护额外的状态,通常是堆栈。如果标记

我必须解析块生成的XML代码。通常我使用Xstream解析器来解析XML。但XStream解析器无法工作,因为此XML的子标记与父标记同名。 我找到了一个库,它可以将块状xml代码转换为Java对象。但对于下面所示的复杂的块状XML代码,该库失败。我尝试编辑库以启用以下xml代码的解析。但它不起作用

没有一个 符合事实的 服务类别表 连载 显示 4930 隐藏 4932 显示 4961 隐藏 4930 显示 4932 隐藏 4961
基于流的XML解析器需要维护额外的状态,通常是堆栈。如果标记名=='block'{…}不够,则简单

对于上面的示例,堆栈可能如下所示:

block
statement
block
statement
block
next
block
next
block
field
每个项可能都有一个指向正在构造的已解析对象的指针,因此您可以将子项添加到其中,并知道在结束标记之后要继续处理的对象

虽然它使用XmlPullParser而不是流解析器,但您可能希望在repo中查看