博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA操作XML二(转换关系):String --document--xml --docu...
阅读量:7210 次
发布时间:2019-06-29

本文共 2008 字,大约阅读时间需要 6 分钟。

hot3.png

主要涉及转化:

从String转化为document再到xml

从xml转化为document再到String

 

[java]
  1. xml转化为string:    
  2.   
  3. public   static   String   xmlFile2String(String   fileName)   throws   SAXException,   IOException,   ParserConfigurationException,   TransformerFactoryConfigurationError,   TransformerException  
  4.   
  5.           {  
  6.   
  7.                
  8.   
  9.                   DocumentBuilderFactory   documentBuilderFactory   =   DocumentBuilderFactory.newInstance();  
  10.   
  11.                   InputSource   inputSource   =   new   InputSource(fileName);  
  12.   
  13.                   Document   document   =   documentBuilderFactory.newDocumentBuilder().parse(inputSource);                
  14.   
  15.                   StringWriter   sw   =   new   StringWriter();  
  16.   
  17.                   Transformer   serializer   =   TransformerFactory.newInstance().newTransformer();  
  18.   
  19.                   serializer.transform(new   DOMSource(document),   new   StreamResult(sw));  
  20.   
  21.                   return   sw.toString();  
  22.   
  23.           }  
  24.   
  25.   doc转化为string:  
  26.   
  27.           DOMSource   domSource   =   new   DOMSource(doc);  
  28.   
  29.             StringWriter   writer   =   new   StringWriter();  
  30.   
  31.             StreamResult   result   =   new   StreamResult(writer);  
  32.   
  33.             TransformerFactory   tf   =   TransformerFactory.newInstance();  
  34.   
  35.             Transformer   transformer   =   tf.newTransformer();  
  36.   
  37.             transformer.transform(domSource,   result);  
  38.   
  39.             System.out.println(   writer.toString());  
  40.   
  41. doc转化为xml:  
  42.   
  43.               TransformerFactory   tFactory   =   TransformerFactory.newInstance();  
  44.   
  45.       Transformer   transformer   =   tFactory.newTransformer();  
  46.   
  47.       DOMSource   source   =   new   DOMSource(doc);  
  48.   
  49.       FileOutputStream   outStream   =   new   FileOutputStream( "outFile.xml ");  
  50.   
  51.       StreamResult   result   =   new   StreamResult(outStream);  
  52.   
  53.       transformer.transform(source,   result);    
  54.   
  55.    
  56.   
  57. doc的初始化:  
  58.   
  59.                   DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance();    
  60.   
  61.   DocumentBuilder   db   =   null;    
  62.   
  63.   try     {    
  64.   
  65.   db   =   dbf.newDocumentBuilder();    
  66.   
  67.   }   catch   (ParserConfigurationException   pce)   {    
  68.   
  69.   System.err.println(pce);    
  70.   
  71.   System.exit(1);    
  72.   
  73.   }    
  74.   
  75.   Document   doc   =   null;    
  76.   
  77.   doc   =   db.newDocument();    
  78.   
  79.    
  80.   
  81.    
  82.   
  83. 用读文件的方式把xml变成string:  
  84.   
  85.       FileInputStream   in   =   new   FileInputStream( "DataTest.xml ");  
  86.   
  87.       BufferedInputStream   bufferin=new   BufferedInputStream(in);  
  88.   
  89.       byte   c[]=   new   byte[1000];  
  90.   
  91.       int   n=0;  
  92.   
  93.       StringBuffer   bs=new   StringBuffer();  
  94.   
  95.       while   ((n=bufferin.read(c))!=-1)  
  96.   
  97.       {String   temp=new   String   (c,0,n);//                    
  98.   
  99.         bs.append(temp);                      
  100.   
  101.       }  

 

String转成document的请看以下链接

有关经XSL文件转换为XML的请看:

转载于:https://my.oschina.net/zhuzihasablog/blog/149483

你可能感兴趣的文章
长得像鳗鱼的Envirobot,利用传感器检测并追踪水中有害元素
查看>>
剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
查看>>
1-2 输出N个数的平方和立方值
查看>>
实践 Redux,第 1 部分: Redux-ORM 基础
查看>>
中国人工智能学会通讯——AI时代的若干伦理问题及策略 1.3 构建算法治理的内外部约束机制...
查看>>
打造具有物联网基因的现代化商业银行
查看>>
英特尔携手AT&T和爱立信进行DIRECTV NOW流媒体直播服务的5G试验
查看>>
关键时刻不可或缺的5款高科技紧急应用
查看>>
NSA方程式泄漏工具包浅析
查看>>
微服务,我们如何与你相处
查看>>
中国人工智能学会通讯——KS-Studio:一个知识计算引擎 1.2 知识图谱构建
查看>>
“Redirect to SMB”漏洞影响所有版本的Windows
查看>>
东方通没有创造中间件 却在定义中间件的“化蝶”
查看>>
物联网其实只是一个话题
查看>>
CloudCC:2017年下半年企业移动CRM市场风向窥测
查看>>
《并行计算的编程模型》一3.8.3 原子交换和条件交换
查看>>
备份不等于归档,在智能归档中备份资产!
查看>>
首届渣打科营编程马拉松赛初赛圆满结束
查看>>
三大超算军团加速布局 中科曙光E级超算预研项目正式启动
查看>>
高计算密度+低功耗!浪潮新一代高密度服务器SA5248M4横空出世
查看>>