</pre><h6>使用dom4J生成XML格式的字符串:</h6><p></p><pre name="code" class="java"> <span style="font-size:14px;"> Document document = DocumentHelper.createDocument();<span style="white-space:pre"> </span>
//创建msgbody
Element msgbody = document.addElement("msgbody");
//生成msgbody的一个节点
Element queryselect = msgbody.addElement("queryselect");
Element subsid = queryselect.addElement("subsid");
Element servnumber = queryselect.addElement("servnumber");
// // 为节点添加属性
// queryselect.addAttribute("key", "sys.username");
// 为节点添加文本, 也可以用addText()
subsid.addText(this.subsid==null?"":this.subsid);
servnumber.addText(this.servnumber==null?"":this.servnumber);
return document.asXML();</span>
首先创建一个document对象,然后添加一个根节点(document.addElement(" ")),然后再生成一个节点,可以使用addAttribute 为节点添加属性。
最后使用,asXML().生成xml格式的String语句。
使用DOM4J解析XML字符串
/*
* <soapenv:Envelop xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
* <msgbody>
* <subinfo>
* <subsid>XXX</subsid>
* <subname>XXX</subname>
* </subinfo>
* </msgbody>
*/
<span style="font-size:14px;">Document doc=(Document)DocumentHelper.parseText(xmlStr);
Element root = doc.getRootElement(); //获取到跟元素 msgbody
Element subinfo = root.element("subinfo");//指定获取第一个subinfo元素
String subsid = subinfo.element("subsid").getTextTrim();
String subsname = subinfo.element("subsname").getTextTrim();
String servnumber = subinfo.element("servnumber").getTextTrim();
String vertifymode = subinfo.element("vertifymode").getTextTrim();
String brand = subinfo.element("brand").getTextTrim();
String prodid = subinfo.element("prodid").getTextTrim();
String custid = subinfo.element("custid").getTextTrim();
String acctid = subinfo.element("acctid").getTextTrim();
String begintime = subinfo.element("begintime").getTextTrim();
String region=subinfo.element("region").getTextTrim();
String ischangebrand = subinfo.element("ischangebrand").getTextTrim();
String cretlevel = subinfo.element("cretlevel").getTextTrim();</span>
首先将String类型的xmlStr利用Document doc=(Document)DocumentHelper.parseText(xmlStr); 得到一个document对象,获取根目录,然后每一层的节点可以使用root.element("XXX")(默认得到第一个名字为XXX的节点对象)得到
然后使用,subinfo.element("subsid").getTextTrim();获取到文本值,或者使用其他方法可以得到对象的属性