Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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
在Java中解析XML以提取所有节点和属性_Java_Xml - Fatal编程技术网

在Java中解析XML以提取所有节点和属性

在Java中解析XML以提取所有节点和属性,java,xml,Java,Xml,我在试图解析一些XML文档以获得所需的输出时遇到了一个问题 以XML为例: 在代码中,testXML和andCount在printNote方法之外声明,并且在迭代期间不会重置 从第一个ZoneRule开始,在第一次for迭代期间生成正确的文本,让我们忘记递归,现在移动到下一个ZoneRule,但是testXML包含整个生成的文本,andCount大于0,因此您继续附加为下一个ZoneRule生成的文本 您应该在for循环的每一次迭代开始时重置andCount和testXML。但是,您的“递归”

我在试图解析一些XML文档以获得所需的输出时遇到了一个问题

以XML为例:

在代码中,testXML和andCount在printNote方法之外声明,并且在迭代期间不会重置

从第一个ZoneRule开始,在第一次for迭代期间生成正确的文本,让我们忘记递归,现在移动到下一个ZoneRule,但是testXML包含整个生成的文本,andCount大于0,因此您继续附加为下一个ZoneRule生成的文本

您应该在for循环的每一次迭代开始时重置andCount和testXML。但是,您的“递归”子对象将无法正确呈现


因此,您需要两个方法,一个用于处理顶级ZoneRule元素,另一个用于其子元素,或者更好的是,您不需要将文本附加到共享变量,而是应该重新发现您的方法,以便它们返回字符串值,然后可以正确地附加和不附加,当它被递归调用时,没有新行或没有新行

谢谢-我可以使用一些代码的示例来实现这一点吗?我已经兜圈子好几天了……复制您的printNode方法并称之为printZone。在beginign集合的for循环内,cout=0;testXML=;剩下的就完好无损了;在操作方法中,调用printZone而不是printNode。大致来说,它应该能胜任工作。谢谢——我试过你的建议,但遗憾的是,我没能让它产生任何影响。