java xml文件内容替换_java读取xml文件并转换成对象,并进行修改
1.首先要寫工具類,處理讀取和寫入xml文件使用的工具。XMLUtil.java
importjava.io.FileInputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.StringReader;importjava.io.StringWriter;importjavax.xml.bind.JAXBContext;importjavax.xml.bind.JAXBException;importjavax.xml.bind.Marshaller;importjavax.xml.bind.Unmarshaller;/*** 封裝了XML轉換成object,object轉換成XML的代碼
*
*@authormscall
**/
public classXMLUtil {/*** 將對象直接轉換成String類型的 XML輸出
*
*@paramobj
*@return
*/
public staticString convertToXml(Object obj) {//創建輸出流
StringWriter sw= newStringWriter();try{//利用jdk中自帶的轉換類實現
JAXBContext context=JAXBContext.newInstance(obj.getClass());
Marshaller marshaller=context.createMarshaller();//格式化xml輸出的格式
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_ENCODING,"UTF-8");//將對象轉換成輸出流形式的xml
marshaller.marshal(obj, sw);
}catch(JAXBException e) {
e.printStackTrace();
}returnsw.toString();
}/*** 將對象根據路徑寫入指定的xml文件里
*
*@paramobj
*@parampath
*@return
*/
public static voidconvertToXml(Object obj, String path) {try{//利用jdk中自帶的轉換類實現
JAXBContext context=JAXBContext.newInstance(obj.getClass());
Marshaller marshaller=context.createMarshaller();//格式化xml輸出的格式
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_ENCODING,"GBK");//將對象轉換成輸出流形式的xml//創建輸出流
FileWriter fw= null;try{
fw= newFileWriter(path);
}catch(IOException e) {
e.printStackTrace();
}
marshaller.marshal(obj, fw);
}catch(JAXBException e) {
e.printStackTrace();
}
}/*** 將String類型的xml轉換成對象*/
public static Object convertXmlStrToObject(Class>clazz, String xmlStr) {
Object xmlObject= null;try{
JAXBContext context=JAXBContext.newInstance(clazz);//進行將Xml轉成對象的核心接口
Unmarshaller unmarshal=context.createUnmarshaller();
StringReader sr= newStringReader(xmlStr);
xmlObject=unmarshal.unmarshal(sr);
}catch(Exception e) {
e.printStackTrace();
}returnxmlObject;
}/*** 將file類型的xml轉換成對象*/
public static Object convertXmlFileToObject(Class>clazz, String xmlPath) {
Object xmlObject= null;try{
JAXBContext context=JAXBContext.newInstance(clazz);
Unmarshaller unmarshaller=context.createUnmarshaller();
InputStreamReader isr=new InputStreamReader(new FileInputStream(xmlPath),"GBK");
xmlObject=unmarshaller.unmarshal(isr);
}catch(Exception e) {
e.printStackTrace();
}returnxmlObject;
}
}
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java xml文件内容替换_java读取xml文件并转换成对象,并进行修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: painticon java_新人,关于
- 下一篇: java线程池饱和策略_线程池的饱和策略