我有一个关于xml解析的问题。
我想开发一个Java DOM解析器(或java中的任何其他解析器),它能够解析具有如下结构的xml:
<root>
<parameters>
<parameter> <!-- ParameterA -->
<name>a</name>
<values> <!-- possible values for ParameterA -->
<value>
<name>a1</name>
<parameter> <!-- ParameterB dependent of ParameterA -->
<name>a11</name>
<values> <!--possible values for ParameterB -->
<value>
<name>a111</name>
</value>
<value>
<name>a112</name>
</value>
</values>
</parameter>
</value>
<value>
<name>a2</name>
<parameter> <!-- ParameterC dependent of ParameterA -->
<name>a22</name>
<values> <!--possible values for ParameterC -->
<value>
<name>a222</name>
</value>
</values>
</parameter>
</value>
</values>
</parameter>
<parameter> <!-- ParameterX -->
<name>b</name>
<values> <!-- possible values for ParameterX -->
<value>
<name>b1</name>
</value>
</values>
</parameter>
</parameters>
</root>
恢复xml结构:
示例:
如果ParameterB依赖于ParameterA,那么,parameterA将在其value标签内部包含一个参数标签,该标签将包含有关parameterB等的信息......
我希望我的Dom Parser能够根据xml层次结构(相对于它们的值)检索所有参数组合。
对于上面的例子,Dom Parser应该返回
>> a-a1-a11-a111-b-b1
>> a-a1-a11-a112-b-b1
>> a-a2-a22-a222-b-b1
我不知道这是否有可能,我已经敲了好头几天......
谢谢,
请不要拖延建议。
答案 0 :(得分:0)
你有一个递归数据结构,所以显而易见的方法是让你的DOM“解析器”递归。实际上,如果使用基于DOM的提取器,则没有其他替代方法。
但是,我认为你的问题是你试图同时做两件事:
如果分别执行这两项任务,则可以更轻松地进行编码。