首页 > 其他分享 >dom4j 解析xml string 字符串

dom4j 解析xml string 字符串

时间:2023-03-27 22:10:16浏览次数:31  
标签:xml info string dom4j System Element println out

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); 
} 
}

标签:xml,info,string,dom4j,System,Element,println,out
From: https://blog.51cto.com/u_16034393/6153271

相关文章

  • 获取WEB-INF的绝对路径和读改XML文件
    获取WEB-INF的绝对路径和读改XML文件packagecom.oaking.fund.cmb.util;importorg.w3c.dom.Document;importjavax.xml.parsers.DocumentBuilderFactory;importjava......
  • toString()、String.valueOf、(String)强转,有啥区别?
    toString(),可能会抛空指针异常这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以java对象都可以调用此方法。但在使用时要注意,必须保证object不是nul......
  • 利用dom4j修改XML数据_进行增删改查【最新】
    下面只发studentDao与util的源码:代码已经测试过了,没有问题,如果有需要的调整,会修改,如有错误请帮忙改正,下午整理了一下修改,其实跟查询差不多,只是设置一下元素体即可,代码已经更......
  • android stdio中java代码对于xml的操作
    首先,我们需要在java代码中声明要修改的页面,例如LinearLayoutlistView=findViewById(R.id.line_station_liebiao);其次声名我们加入希望添加的组件,例如LinearLayout......
  • C++ stringstream ssin 的用法
    C++中stringstream方法存在于头文件<sstream>中作用:使用stringstream方法,将某一字符串生成输入流,然后可以利用这个输入流把长的整行字符串转换成单个字符#include......
  • HTML/XML转义字符对照表(建议收藏)
               为什么要用转义字符串?HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我......
  • go语言学习-json和xml
    JSONjson是完全独立于语言的文本格式,是k-v的形式name:zs应用场景:前后端交互,系统间数据交互json使用go语言内置的encoding/json标准库编码json使用json.Marshal()函数可以......
  • Python实例讲解 -- 解析xml
    doc.xml <?xmlversion="1.0"encoding="utf-8"?><info><intro>信息</intro><listid='001'><head>auto_userone</head><name>Jordy</name>......
  • Http Xml Servlet
    Servlet概述访问网站时,我们都是基于WebBrowser/Server这种模式,简称BS框架。Servlet是JavaServlet的简称,称为小服务程序或服务连接器,用java编写的服务器端程序,具......
  • 》》》IDEA Mybatis中xml文件粘贴SQL导致左对齐,样式发生变化
    转载:IDEAMybatis中xml文件粘贴SQL导致左对齐,样式发生变化_ideamybatissql格式_诛心小恶魔的博客-CSDN博客IDEA在编辑mybatis中xml文件的时候,默认是不保留粘贴文本的缩......