首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

大家进来帮帮忙 dom4j解析xml有关问题

2012-01-03 
大家进来帮帮忙 dom4j解析xml问题?xmlversion 1.0 encoding UTF-8 ?BODYCORPNAME 测试企业 /

大家进来帮帮忙 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);

热点排行