A. 请问java中怎么将生成的XML转化为字符串
此方法传入文件名即可获得对象
-------------------------------------------
import java.beans.XMLDecoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
public class ReadXml {
public static Object getXml(String path){
File file=new File(path);
FileInputStream fileInputStream;
Object object=null;
try {
fileInputStream = new FileInputStream(file);
XMLDecoder decoder=new XMLDecoder(fileInputStream);
object=decoder.readObject();
fileInputStream.close();
decoder.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return object;
}
}
---------------------------------------------------------------------
如果不可以 用这个写的方式 直接写对象到XML里 此方法需传入对象和写入路径
mport java.beans.XMLEncoder;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteXml {
public static void setXml(Object o,String fileName){
File file=new File(fileName);
try {
FileOutputStream fileOutputStream=new FileOutputStream(file);
XMLEncoder encoder=new XMLEncoder(fileOutputStream);
encoder.writeObject(o);
encoder.flush();
encoder.close();
fileOutputStream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
B. XStream将java对象解析为xml字符串时,过滤掉节点值为空的节点
使用注解 @XStreamOmitField 或者omitField(definedIn, fieldName)即可
C. java中xml的Document对象怎么转成String形式
/***
* 将Document对象转换成String
* @param document
* @return
*/
public String transformXMLToString(Document document) {
try {
XMLOutputter xmlout = new XMLOutputter();
Format tFormat = Format.getPrettyFormat();
tFormat.setEncoding("GBK");
xmlout.setFormat(tFormat);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(document, bo);
String xmlStr = bo.toString();
bo.flush();
bo.close();
return xmlStr;
} catch (Exception e) {
LogUtil.getLogger().error(LogUtil.getExceptionDetail(e));
return null;
}
}
D. java json字符串转换xml字符串
java json字符串转成 xml可以用XStream 这个jar来转换, 首先要把json转成java对象, 再转成xml字符串.
E. Java中object和xml互相转换
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Object2XML {
public static String object2XML(Object obj, String outFileName)
throws FileNotFoundException {
// 构造输出XML文件的字节输出流
File outFile = new File(outFileName);
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(outFile));
// 构造一个XML编码器
XMLEncoder xmlEncoder = new XMLEncoder(bos);
// 使用XML编码器写对象
xmlEncoder.writeObject(obj);
// 关闭编码器
xmlEncoder.close();
return outFile.getAbsolutePath();
}
public static Object xml2Object(String inFileName)
throws FileNotFoundException {
// 构造输入的XML文件的字节输入流
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(inFileName));
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis);
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject();
// 关闭解码器
xmlDecoder.close();
return obj;
}
public static void main(String[] args) throws IOException {
// 构造一个StudentBean对象
StudentBean student = new StudentBean();
student.setName("wamgwu");
student.setGender("male");
student.setAge(15);
student.setPhone("55556666");
// 将StudentBean对象写到XML文件
String fileName = "AStudent.xml";
Object2XML.object2XML(student, fileName);
// 从XML文件读StudentBean对象
StudentBean aStudent = (StudentBean)Object2XML.xml2Object(fileName);
// 输出读到的对象
System.out.println(aStudent.toString());
}
}
F. java中xml的Document对象怎么转成String形式
package com.webdesk.swing.powertable.util; import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileWriter;import java.io.IOException; import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter; public class XmlUtil { public static String xmlChangeString(String fileName){ try { SAXReader saxReader = new SAXReader();//新建一个解析类 Document tempDocument = saxReader.read(XmlUtil.class.getClassLoader().getResourceAsStream(fileName));//读入一个文件 return tempDocument.asXML(); } catch (DocumentException e) { e.printStackTrace(); } return null; } //将字符串string类型转换成xml文件 public static void strChangeXML(String str) throws IOException { SAXReader saxReader = new SAXReader(); Document document; try { document = saxReader.read(new ByteArrayInputStream(str.getBytes("UTF-8"))); OutputFormat format = OutputFormat.createPrettyPrint(); /** 将document中的内容写入文件中 */ XMLWriter writer = new XMLWriter(new FileWriter(new File("src/com/webdesk/swing/powertable/digester/cctv.xml")),format); writer.write(document); writer.close(); } catch (DocumentException e) { e.printStackTrace(); } }}
G. java中xml的Document对象怎么转成String形式
/***
* 将Document对象转换成String
* @param document
* @return
*/
public String transformXMLToString(Document document) {
try {
XMLOutputter xmlout = new XMLOutputter();
Format tFormat = Format.getPrettyFormat();
tFormat.setEncoding("GBK");
xmlout.setFormat(tFormat);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(document, bo);
String xmlStr = bo.toString();
bo.flush();
bo.close();
return xmlStr;
} catch (Exception e) {
LogUtil.getLogger().error(LogUtil.getExceptionDetail(e));
return null;
}
}
H. java如何解析xml格式的字符串
使用dom4j,在网络下搜一个dom4j包,然后在网上找个例子看dom4j操作xml的使用方法,很简单的。
I. java XML创建 Element 转为字符串,如果节点为空 则会变成<TrainNo/> 可以改为<TrainNo></TrainNo>吗
这个没必要改吧,<TrainNo/>这种方式在XML中表示空元素,不影响被解析。
J. java 对象序列化到xml java 对象到xml 转化为string
marshaller.marshal,明显就有很多参数。用OutputStream那个就可以写入String了。。
用XmlStreamWriter也是可以。