您的位置:首页 > 编程语言 > Java开发

JAVA操作XML二(转换关系):String --document--xml --document--String

2009-03-26 23:57 519 查看
主要涉及转化:

从String转化为document再到xml

从xml转化为document再到String

xml转化为string:

public   static   String   xmlFile2String(String   fileName)   throws   SAXException,   IOException,   ParserConfigurationException,   TransformerFactoryConfigurationError,   TransformerException

{

DocumentBuilderFactory   documentBuilderFactory   =   DocumentBuilderFactory.newInstance();

InputSource   inputSource   =   new   InputSource(fileName);

Document   document   =   documentBuilderFactory.newDocumentBuilder().parse(inputSource);

StringWriter   sw   =   new   StringWriter();

Transformer   serializer   =   TransformerFactory.newInstance().newTransformer();

serializer.transform(new   DOMSource(document),   new   StreamResult(sw));

return   sw.toString();

}

doc转化为string:

DOMSource   domSource   =   new   DOMSource(doc);

StringWriter   writer   =   new   StringWriter();

StreamResult   result   =   new   StreamResult(writer);

TransformerFactory   tf   =   TransformerFactory.newInstance();

Transformer   transformer   =   tf.newTransformer();

transformer.transform(domSource,   result);

System.out.println(   writer.toString());

doc转化为xml:

TransformerFactory   tFactory   =   TransformerFactory.newInstance();

Transformer   transformer   =   tFactory.newTransformer();

DOMSource   source   =   new   DOMSource(doc);

FileOutputStream   outStream   =   new   FileOutputStream( "outFile.xml ");

StreamResult   result   =   new   StreamResult(outStream);

transformer.transform(source,   result);

doc的初始化:

DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance();

DocumentBuilder   db   =   null;

try     {

db   =   dbf.newDocumentBuilder();

}   catch   (ParserConfigurationException   pce)   {

System.err.println(pce);

System.exit(1);

}

Document   doc   =   null;

doc   =   db.newDocument();

用读文件的方式把xml变成string:

FileInputStream   in   =   new   FileInputStream( "DataTest.xml ");

BufferedInputStream   bufferin=new   BufferedInputStream(in);

byte   c[]=   new   byte[1000];

int   n=0;

StringBuffer   bs=new   StringBuffer();

while   ((n=bufferin.read(c))!=-1)

{String   temp=new   String   (c,0,n);//

bs.append(temp);

}


String转成document的请看以下链接

http://www.blogjava.net/hopeshared/archive/2006/07/06/56919.aspx

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

http://blog.csdn.net/luweifeng1983/archive/2009/03/25/4022431.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: