大家进来帮帮忙 dom4j解析xml问题
<?xml version= "1.0 " encoding= "UTF-8 "?>
<BODY>
<CORPNAME> 测试企业 </CORPNAME>
<CORPACCOUNT> 15945454444 </CORPACCOUNT>
<LICENSE> 121212 </LICENSE>
<OPTYPE> 1 </OPTYPE>
<OPNOTE> 订购 </OPNOTE>
<PARAMLIST>
<PARAMMAP>
<PARAMNAME> PARAM_SUBSCRIBID </PARAMNAME>
<PARAMVALUE> 1 </PARAMVALUE>
</PARAMMAP>
</PARAMLIST>
<CORPINFOLIST>
<CORPINFOMAP>
<CORPINFONAME> CORP_DOMAIN </CORPINFONAME>
<CORPINFOVALUE> 1234567 </CORPINFOVALUE
> </CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_NAME </CORPINFONAME>
<CORPINFOVALUE> 测试企业 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_SHORTNAME </CORPINFONAME>
<CORPINFOVALUE> 测试 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_DESC </CORPINFONAME>
<CORPINFOVALUE> 企业简介 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_DOMAINID </CORPINFONAME>
<CORPINFOVALUE> 11 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_ADDR </CORPINFONAME>
<CORPINFOVALUE> 哈尔滨 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_ZIP </CORPINFONAME>
<CORPINFOVALUE> 157000 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_FAX </CORPINFONAME>
<CORPINFOVALUE> 045182387001 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_HEADPHONE </CORPINFONAME>
<CORPINFOVALUE> 15904510114 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_LINKMAN </CORPINFONAME>
<CORPINFOVALUE> 测试人 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_LINKMAIL </CORPINFONAME>
<CORPINFOVALUE> 111@163.com </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_REGDATE </CORPINFONAME>
<CORPINFOVALUE> 200705050629 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_CANCELDATE </CORPINFONAME>
<CORPINFOVALUE> </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_CANCELREASON </CORPINFONAME>
<CORPINFOVALUE> </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_CMSTAFFNO </CORPINFONAME>
<CORPINFOVALUE> hrb1001 </CORPINFOVALUE>
</CORPINFOMAP>
<CORPINFOMAP>
<CORPINFONAME> CORP_STATE </CORPINFONAME>
<CORPINFOVALUE> 1 </CORPINFOVALUE>
</CORPINFOMAP>
</CORPINFOLIST>
</BODY>
我想解析CORPINFOMAP下的CORPINFONAME 对应的 CORPINFOVALUE 值
然后在解析过程中 直接set到相应的bean中
例如 cb.setCorp_addr();
这样就可以直接找到
<CORPINFOMAP>
<CORPINFONAME> CORP_ADDR </CORPINFONAME>
<CORPINFOVALUE> 哈尔滨 </CORPINFOVALUE>
</CORPINFOMAP>
然后可以直接把 "哈尔滨 "放到cb.setCorp_addr();这里
哪位用过 请赐教 分不够在加谢谢
------解决方案--------------------
问题描述不够清晰。
如果针对于“哈尔滨”,想找到这个节点,可以用xpath
如:
Node node =doc.selectSingleNode( "//BODY/CORPINFOMAP/CORPINFONAME[text()= 'CORP_ADDR '] ")
String txt = node.getParent().selectSingleNode( "CORPINFOVALUE ").getText();
cb.setCorp_addr(txt);