1.使用dom4j解析xml
本人的xml
<?xml version="1.0" encoding="UTF-8"?>
<SearchResult>
<took><![CDATA[7]]></took>
<hitsCount><![CDATA[40086]]></hitsCount>
<HitStatus>
<hits>
<hit>
<index><![CDATA[wf_mds_chn_biaozhun]]></index>
<type><![CDATA[biaozhun]]></type>
<id><![CDATA[BZZJSIS201904030000001155]]></id>
<score><![CDATA[]]>
</score>
<version><![CDATA[0]]></version>
<source>
<ISCHARGE><![CDATA[]]>
</ISCHARGE>
<TITLE><![CDATA[Road transport and traffic telematics. Automatic vehicle and equipment identification numbering and data structure first edition]]></TITLE>
<ORG><![CDATA[]]>
</ORG>
<AUTHOR><![CDATA[]]>
</AUTHOR>
<DATE><![CDATA[2019-03-26]]></DATE>
<CID><![CDATA[]]>
</CID>
<KEYWORD><![CDATA[]]>
</KEYWORD>
<YEAR><![CDATA[2019]]></YEAR>
<YIMPDATE><![CDATA[2019]]></YIMPDATE>
<YCONDATE><![CDATA[]]>
</YCONDATE>
<YENDDATE><![CDATA[]]>
</YENDDATE>
<YCANDATE><![CDATA[]]>
</YCANDATE>
<RID><![CDATA[]]>
</RID>
<SN><![CDATA[ISO 14816-2005/Amd 1-2019]]></SN>
<TI><![CDATA[]]>
</TI>
<TIO><![CDATA[]]>
</TIO>
<TIE><![CDATA[Road transport and traffic telematics. Automatic vehicle and equipment identification numbering and data structure first edition]]></TIE>
<ST><![CDATA[]]>
</ST>
<ORGC><![CDATA[]]>
</ORGC>
<LAN><![CDATA[]]>
</LAN>
<PNAME><![CDATA[]]>
</PNAME>
<ORGDS><![CDATA[]]>
</ORGDS>
<STATUS><![CDATA[]]>
</STATUS>
<ISSDATE><![CDATA[2019-03-26]]></ISSDATE>
<IMPDATE><![CDATA[2019-03-26]]></IMPDATE>
<CONDATE><![CDATA[]]>
</CONDATE>
<ENDDATE><![CDATA[]]>
</ENDDATE>
<CANDATE><![CDATA[]]>
</CANDATE>
<PN><![CDATA[]]>
</PN>
<HASTRAN><![CDATA[]]>
</HASTRAN>
<MEMO><![CDATA[]]>
</MEMO>
<REPVER><![CDATA[]]>
</REPVER>
<INSVER><![CDATA[]]>
</INSVER>
<REVISE><![CDATA[]]>
</REVISE>
<REF><![CDATA[]]>
</REF>
<USE><![CDATA[]]>
</USE>
<ADD><![CDATA[]]>
</ADD>
<ZCID><![CDATA[]]>
</ZCID>
<TZCID><![CDATA[]]>
</TZCID>
<SZCID><![CDATA[]]>
</SZCID>
<DID><![CDATA[]]>
</DID>
<SID><![CDATA[]]>
</SID>
<ISID><![CDATA[03.220.20%35.240.60]]></ISID>
<UDC><![CDATA[]]>
</UDC>
<CKEY><![CDATA[]]>
</CKEY>
<EKEY><![CDATA[]]>
</EKEY>
<OKEY><![CDATA[]]>
</OKEY>
<REQ><![CDATA[]]>
</REQ>
<FAV><![CDATA[]]>
</FAV>
<ONUM><![CDATA[]]>
</ONUM>
<STYPE><![CDATA[]]>
</STYPE>
<SLEVEL><![CDATA[]]>
</SLEVEL>
<CC><![CDATA[]]>
</CC>
<DBID><![CDATA[]]>
</DBID>
<SOURCE><![CDATA[zjsis]]></SOURCE>
<RSTUTS><![CDATA[]]>
</RSTUTS>
<FSID><![CDATA[]]>
</FSID>
<FNAME><![CDATA[]]>
</FNAME>
<FORGC><![CDATA[]]>
</FORGC>
<AU><![CDATA[]]>
</AU>
<FPNAME><![CDATA[]]>
</FPNAME>
<ABSTRACT><![CDATA[]]>
</ABSTRACT>
<ORGSTRUCID><![CDATA[]]>
</ORGSTRUCID>
<ORGID><![CDATA[]]>
</ORGID>
<ORGPROVINCE><![CDATA[]]>
</ORGPROVINCE>
<ORGCITY><![CDATA[]]>
</ORGCITY>
<ORGTYPE><![CDATA[]]>
</ORGTYPE>
<ENDORGTYPE><![CDATA[]]>
</ENDORGTYPE>
<FORGID><![CDATA[]]>
</FORGID>
<FENDORGID><![CDATA[]]>
</FENDORGID>
<FORGSTRUCID><![CDATA[]]>
</FORGSTRUCID>
<FENDORGPROVINCE><![CDATA[]]>
</FENDORGPROVINCE>
<FORGPROVINCE><![CDATA[]]>
</FORGPROVINCE>
<FENDORGCITY><![CDATA[]]>
</FENDORGCITY>
<FORGCITY><![CDATA[]]>
</FORGCITY>
<FENDORGTYPE><![CDATA[]]>
</FENDORGTYPE>
<FORGTYPE><![CDATA[]]>
</FORGTYPE>
<ORGS><![CDATA[]]>
</ORGS>
<ORGNUM><![CDATA[]]>
</ORGNUM>
</source>
<Fields></Fields>
</hit>
Document :相当于你要解析的那个xml文件
Element: 你所解析的xml的标签子元素
代码
引入jar包
dom4j-1.6.jar
public class TestDom4J {
public static void main(String[] args) throws DocumentException {
//xml字符串
String xmlStr="";
//定义返回值
BiaoZhun ob = null;
try {
//将字符串解析成xml文件
Document doc = DocumentHelper.parseText(xmlStr);
//获取到xml的根节点
Element rootElt = doc.getRootElement();
//我是用其他方法获取子节点不好使,于是就用笨方法一层层取
Element hitsCount=rootElt.element("HitStatus");
Element hits=hitsCount.element("hits");
Element hit=hits.element("hit");
String id=hit.elementTextTrim("id");
Iterator iterHit = hit.elementIterator("source");
ob = new BiaoZhun();
ob.setMfn(id);
while (iterHit != null && iterHit.hasNext()) {// 循环hit中字段
Element itemEle = (Element) iterHit.next();
//获取data标签的值
String use = itemEle.elementTextTrim("USE");
ob.setAdoptRelation(use);
String insver = itemEle.elementTextTrim("INSVER");
ob.setAlternativeStandard(insver);
String condate = itemEle.elementTextTrim("CONDATE");
ob.setApprovalDate(condate);
String sid = itemEle.elementTextTrim("SID");
ob.setCnCatagory(sid);
String zcid = itemEle.elementTextTrim("ZCID");
ob.setCnlibraryCatagory(zcid);
String cc = itemEle.elementTextTrim("CC");
ob.setCountryNum(cc);
String dbid = itemEle.elementTextTrim("DBID");
ob.setDbMark(dbid);
String orgc = itemEle.elementTextTrim("ORGC");
ob.setDraftDepartment(orgc);
String ORGDS = itemEle.elementTextTrim("ORGDS");
ob.setDraftDepartmentNorm(ORGDS);
String duid = itemEle.elementTextTrim("DUID");
ob.setDraftDepId(duid);
String author = itemEle.elementTextTrim("AUTHOR");
ob.setDrafters(author);
String daid = itemEle.elementTextTrim("DAID");
ob.setDraftersId(daid);
String enddate = itemEle.elementTextTrim("ENDDATE");
ob.setExpirationDate(enddate);
String hastran = itemEle.elementTextTrim("HASTRAN");
ob.setHaveTranslationVersion(hastran);
String rid = itemEle.elementTextTrim("RID");
ob.setId(rid);
String impdate = itemEle.elementTextTrim("IMPDATE");
ob.setImplementDate(impdate);
String iid = itemEle.elementTextTrim("IID");
ob.setIndustryCatagory(iid);
String repver = itemEle.elementTextTrim("repver");
ob.setInsteadStandard(repver);
String isid = itemEle.elementTextTrim("ISID");
ob.setInternationalCatagory(isid);
String ckey = itemEle.elementTextTrim("CKEY");
ob.setKeywodCN(ckey);
String ekey = itemEle.elementTextTrim("EKEY");
ob.setKeywordEN(ekey);
String okey = itemEle.elementTextTrim("OKEY");
ob.setKeywordOrig(okey);
String lan = itemEle.elementTextTrim("LAN");
ob.setLanguage(lan);
String fav = itemEle.elementTextTrim("FAV");
ob.setLibraryTag(fav);
String revise = itemEle.elementTextTrim("REVISE");
ob.setModifyParts(revise);
String memo = itemEle.elementTextTrim("MEMO");
ob.setNotes(memo);
String pn = itemEle.elementTextTrim("PN");
ob.setPages(pn);
String pname = itemEle.elementTextTrim("PNAME");
ob.setPublisDepartment(pname);
String pid = itemEle.elementTextTrim("PID");
ob.setPublisDepId(pid);
String issdate = itemEle.elementTextTrim("ISSDATE");
ob.setPublishDate(issdate);
String ref = itemEle.elementTextTrim("REF");
ob.setReferStandard(ref);
String req = itemEle.elementTextTrim("REQ");
ob.setRequestNum(req);
String onum = itemEle.elementTextTrim("ONUM");
ob.setSortNum(onum);
String source = itemEle.elementTextTrim("SOURCE");
ob.setSourceFrom(source);
String slevel = itemEle.elementTextTrim("SLEVEL");
ob.setStandardLevel(slevel);
String sn = itemEle.elementTextTrim("SN");
ob.setStandardNum(sn);
String stype = itemEle.elementTextTrim("STYPE");
ob.setStandardType(stype);
String status = itemEle.elementTextTrim("STATUS");
ob.setStatus(status);
String did = itemEle.elementTextTrim("DID");
ob.setSubjectCatagory(did);
String add = itemEle.elementTextTrim("ADD");
ob.setSupplement(add);
String st = itemEle.elementTextTrim("ST");
ob.setThemeTitle(st);
String ti = itemEle.elementTextTrim("TI");
ob.setTitleCN(ti);
String tie = itemEle.elementTextTrim("TIE");
ob.setTitleEN(tie);
String tio = itemEle.elementTextTrim("TIO");
ob.setTitleOrig(tio);
String udc = itemEle.elementTextTrim("UDC");
ob.setUdcCatagory(udc);
}
} catch (DocumentException e) {
e.printStackTrace();
}
System.out.println("obob"+ob.toString());
}
}