解析xml

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());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxingxin2704

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值