dom4j解析重复相同节点

筱周 2013-04-15 12:54:34
xml格式如下:<DSExport><Header>aa</Header><Job><Record> <Property Name="Name">1111</Property> <Property Name="NextID">2222</Property> <Property Name="Container">3333</Property> <Property Name="JobVersion">44444</Property> <Property Name="ControlAfterSubr">55555</Property> <Collection Name="Parameters" Type="Parameters"> <SubRecord> <Property Name="Name">TBS</Property> <Property Name="Prompt">TBS 参数</Property> <Property Name="Default">(As pre-defined)</Property> <Property Name="HelpTxt">表空间</Property> <Property Name="ParamType">13</Property> <Property Name="ParamLength">0</Property> <Property Name="ParamScale">0</Property> </SubRecord> <SubRecord> <Property Name="Name">EDCDB</Property> <Property Name="Prompt">EDCDB 参数</Property> <Property Name="Default">(As pre-defined)</Property> <Property Name="ParamType">13</Property> <Property Name="ParamLength">0</Property> <Property Name="ParamScale">0</Property> </SubRecord> </Collection> <Collection Name="MetaBag" Type="MetaProperty"> <SubRecord> <Property Name="Owner">APT</Property> <Property Name="Name">AdvancedRuntimeOptions</Property> <Property Name="Value">#DSProjectARTOptions#</Property> </SubRecord> <SubRecord> <Property Name="Owner">APT</Property> <Property Name="Name">TraceMode</Property> <Property Name="Value">0</Property> </SubRecord> </Collection> <Property Name="IsTemplate">0</Property> <Property Name="NLSLocale">,,,,</Property> <Property Name="JobType">3</Property> </Record><Record>.....<!--和上面<Record>节点内容形式一样></Record></Job><Job>.....<!--和上面<Job>节点内容形式一样></Job><Job>.....<!--和上面<Job>节点内容形式一样,多个重复Job节点></Job></DSExport> 现在需要获取DSExport根节点下的Job节点的Record节点下的Property节点的Name属性值和具体的值以及Collection节点下SubRecord节点下的Property节点的Name属性值和具体的值,请问用dom4j改如何解析,最好能附上代码,谢谢了!
...全文
565 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(new File("C:\\aa.xml")); List list = document.selectNodes("//Record/Property/@Name"); Iterator iter=list.iterator(); while(iter.hasNext()){ Attribute attribute=(Attribute)iter.next(); System.out.println("Name:"+ attribute.getValue() + ";Content" + attribute.getParent().getText()); } list.clear(); list = document.selectNodes("//SubRecord/Property/@Name"); Iterator iter2=list.iterator(); while(iter2.hasNext()){ Attribute attribute=(Attribute)iter2.next(); System.out.println("Name:"+ attribute.getValue() + ";Content" + attribute.getParent().getText()); } } catch (DocumentException e) { e.printStackTrace(); }

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧