package dom4j;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 使用dom4j处理xml字符串;使用迭代器可以搞定一切;
* 附件是转成base64的字符串;便于webservice基于soap的传输;
* @author shuaisweet
*/
public class InfoXML
{
public void doInfoXML(String infoXML)
{
System.out.println(infoXML);
SAXReader reader = new SAXReader();
Document document;
try
{
document = DocumentHelper.parseText(infoXML);
Element root = document.getRootElement();
//信息条数;
int info_count=root.elements().size();
Iterator it =root.elements().iterator();
while(it.hasNext())
{
Element info=(Element) it.next();
System.out.println(info.elementText("info_title"));
System.out.println(info.elementText("index_code"));
System.out.println(info.elementText("content"));
//在此处理信息
System.out.println("附件开始");
Element adjuncts= info.element("adjuncts");
Iterator adjs=adjuncts.elements().iterator();
while(adjs.hasNext())
{
Element adj=(Element) adjs.next();
System.out.println(adj.elementText("file_name"));
System.out.println(adj.elementText("adjunct_content"));
//在此处理附件;
}
System.out.println("==============================");
}
} catch (DocumentException e1)
{
e1.printStackTrace();
}
}
public static void main(String[] args)
{
InfoXML xml=new InfoXML();
String infoXML="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<infos>"+
"<info>"+
"<info_title><![CDATA[aaaaaaaaaa]]></info_title>"+
"<index_code><![CDATA[bbbbbbbbbb]]></index_code>"+
"<content><![CDATA[cccccccccc]]></content>"+
"<adjuncts>"+
"</adjuncts>"+
"</info>"+
"<info>"+
"<info_title><![CDATA[11111111111111]]></info_title>"+
"<index_code><![CDATA[2222222222222]]></index_code>"+
"<content><![CDATA[33333333333333]]></content>"+
"<adjuncts>"+
"<adjunct>"+
"<file_name><![CDATA[44444444444]]></file_name>"+
"<adjunct_content><![CDATA[5555555555555]]></adjunct_content>"+
"</adjunct>"+
"</adjuncts>"+
"</info>"+
"<info>"+
"<info_title><![CDATA[xxxxxxxxxxxxxxxxx]]></info_title>"+
"<index_code><![CDATA[yyyyyyyyyyyyyyyy]]></index_code>"+
"<content><![CDATA[zzzzzzzzzzzzzzzzzz]]></content>"+
"<adjuncts>"+
"<adjunct>"+
"<file_name><![CDATA[vvvvvvvvvvvvv]]></file_name>"+
"<adjunct_content><![CDATA[rrrrrrrrrrrrrrrr]]></adjunct_content>"+
"</adjunct>"+
"<adjunct>"+
"<file_name><![CDATA[ggggggggggggggggggggggg]]></file_name>"+
"<adjunct_content><![CDATA[llllllllllllllllll]]></adjunct_content>"+
"</adjunct>"+
"</adjuncts>"+
"</info>"+
"</infos>";
xml.doInfoXML(infoXML);
}
}
分享到:
相关推荐
dom4j解析xml字符串实例
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
本篇文章主要是对通过dom4j解析xml字符串的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
Dom4j遍历解析XMLDom4j遍历解析XML
WebService在传递数据的时候只能传递字符串,当我们返回一些简单的字符串时我们可以直接返回,但是当我们想返回比如List,Map等复杂类型的数据时拼接字符串就是个很麻烦的工作,这时我们就用到了dom4j这个工具。
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中
使用dom4j解析xml,可以解析xml文件,或者String型的xml字符串
该文挡中包含了用dom4j解析xml文件的方法和步骤,包括从文件中解析和从xml格式的字符串中解析
使用 dom4j 将 XML 文档解析为我自己的格式 格式: 私人字符串名称; 私有字符串值; 私人列表 childList; private Map<String> propMap = new HashMap(); 意义 将 XML 文档对象转换成这个格式对象(XmlElement...
通过dom4j解析xml文件或xml字符串,同时利用dom4j解析soap报文,解析出所需要的字段,使用的相对比较基础,有需要的可以参考一下。
xml数据前后台解析;提供了两种方式:dom4j与jdom对xml文件、xml字符串的读与写操作;同时实现在前台用jquery解析xml,将数据展示在页面上,程序可以跑
将xml写成字符串的形式,采用dom4j进行解析,一个简单的例子
解析XML文件(字符串)的两种方法,dom4j解析XML时候忽略DTD文件验证
资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版 内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...
Dom4jDemo字符串转xml,通过dom4j解析xml demo
三、使用dom4j解析xml文件 5 1. 构建dom4j树 5 2. 获取节点 5 3. 获取属性 6 4. 使用XPath获取节点和属性 6 四、使用dom4j修改xml文件 7 五、常用方法 8 1.Element元素API 8 2. Attribute属性API 8 2. 字符串转化 8...
dom4j解析节点名称和值,放入一个string类型的xml字符串输出标签对应的名称以及值的map
Java解析XML的四种方法 1. DOM生成和解析XML文档 2. SAX生成和解析XML文档 3. DOM4J生成和解析XML文档 4. JDOM生成和解析XML
使用SAX DOM两种解析方式解析文件