日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

發布時間:2024/9/27 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工作需要,要生成xml文件,所以做了個小demo分享一下。

看代碼吧~ main()里面沒什么好說的 該寫的都寫了public static void main(String[] args) {

//調用 DocumentBuilderFactory.newInstance() 方法得到創建 DOM 解析器的工廠

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();

Element theBook=null, theElem=null, root=null;

try {

factory.setIgnoringElementContentWhitespace(true);//是否刪除空格 false true

DocumentBuilder db=factory.newDocumentBuilder(); //獲取解析器

//指定路徑 獲取xml文件的document對象

File f = new File("src/book.xml");

Document xmldoc=db.parse(f);

root=xmldoc.getDocumentElement();

//添加 元素(節點)

theBook=xmldoc.createElement("book1");

theElem=xmldoc.createElement("name");

theElem.setTextContent("平凡的世界");

theBook.appendChild(theElem);

theElem=xmldoc.createElement("price");

theElem.setTextContent("¥55.0");

theBook.appendChild(theElem);

theElem=xmldoc.createElement("conment");

theElem.setTextContent("推薦大家看看這本書");

theBook.appendChild(theElem);

root.appendChild(theBook);

printXML(xmldoc);//打印至Console

saveXml("new_book.xml", xmldoc);//保存生成 xml文件

} catch (ParserConfigurationException e) {

e.printStackTrace();

} catch (SAXException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

方法:printXML() 打印到Console

1.下面的方法中得到的transFactory對象調用newTransformer()方法得到一個Transformer對象:

Transformer transformer=transFactory. newTransformer();

Transformer類在javax.xml.transform包中。

將被變換的Document對象封裝到一個DOMSource對象中:

DOMSource ?domSource=new DOMSource(document);

DOMSource類在javax.xml.transform.dom包中。

將變換得到XML文件對象封裝到一個StreamResult對象中:

File file=new File("XXX.xml");

FileOutputStream out=new FileOutputStream(file);

StreamResult xmlResult=new StreamResult(out);

StreamResult類在javax.xml.transform.stream包中。

最后,Transformer 對象transformer 調用transform方法實施變換:

transformer.transform(domSource, xmlResult);

2.transformer.setOutputProperty("indent","yes");這里比較無語 只給了 是否設置縮進 只有yes|no

你選擇的是yes也就等于格式化了xml,效果如下:

默認縮進的是0

關于這個縮進問題 我還沒處理好呢

這里給個參考鏈接吧:http://blog.csdn.net/yes1983/article/details/2487455

(ps:要是不在乎這個的話可以放棄這一步)public static void printXML(Node node) {

TransformerFactory transFactory=TransformerFactory.newInstance();

try {

Transformer transformer = transFactory.newTransformer();

transformer.setOutputProperty("encoding", "gb2312");//指定編碼

transformer.setOutputProperty("indent", "yes"); //是否設置縮進

DOMSource source=new DOMSource();

source.setNode(node);

StreamResult result=new StreamResult();

result.setOutputStream(System.out);

transformer.transform(source, result);

} catch (TransformerConfigurationException e) {

e.printStackTrace();

} catch (TransformerException e) {

e.printStackTrace();

}

}

方法:saveXml() 保存生成xml文件public static void saveXml(String fileName, Document doc) {

TransformerFactory transFactory=TransformerFactory.newInstance();

try {

Transformer transformer = transFactory.newTransformer();

transformer.setOutputProperty("indent", "yes");//是否設置縮進

DOMSource source=new DOMSource();

source.setNode(doc);

StreamResult result=new StreamResult();

result.setOutputStream(new FileOutputStream(fileName));

transformer.transform(source, result);

} catch (TransformerConfigurationException e) {

e.printStackTrace();

} catch (TransformerException e) {

e.printStackTrace();

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

運行結果:

生成的新的xml文件內容:

最后我想說一下編碼 開始的時候一定要統一編碼 不然生成的xml文件會亂碼的!

由最代碼官方編輯于2014-8-14 16:44:29

總結

以上是生活随笔為你收集整理的java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。