您的位置:首页 > 其它

生成和解析XML格式的字符串

2016-05-24 10:51 399 查看
</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();获取到文本值,或者使用其他方法可以得到对象的属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: