導航:首頁 > 編程語言 > javaxml添加

javaxml添加

發布時間:2022-06-06 12:21:47

java如何向xml文件寫入內容

解析(也就是讀取)的話,可以採用SAX解析,或者DOM4J (dom for java)解析,寫入的話,可以採用dom寫入,SAX和DOM4J都是Apache的開源項目,你可以從官網上搜到相關的Jar包,導入的Eclipse即可使用,至於代碼示例的話,網路谷歌一下,栗子很多,希望能幫到你。

❷ java怎麼把解析的xml數據添加到資料庫中

java一種簡單的解析xml方法是用DOM進行解析, dom4j是一個Java的XML API,類似於jdom,用來讀寫XML文件的。具體使用方法可以參照如下鏈接
http://blog.csdn.net/redarmy_chen/article/details/12969219
解析出來添加到資料庫就不用說了,用什麼框架肯定有相應操作資料庫的方法。

❸ JAVA中如何向XML文件中插入數據

cxzucc - 主管 六級 2009-11-12 20:32
sax,dom,dom4j,jdom等都是可以的,先看看資料吧
****************************************
這位仁兄說的不是對的,SAX是不能插入結點的。當然如果你說用SAX讀到內存中創建一棵樹再寫回去那我就無言了。 像jdom、dom4j這些學一個其它的都懂了,沒太大的區別。
輸入這些關鍵字一搜網上的例子太多了

❹ 通過java如何操作xml向其節點中添加內容比如<say>想添加的內容</say>

<say>我是個字元串可以隨便填</say>
你是要代碼嗎
InputStream is= this.getClass.getInputStream("my.xml");
在通過 is獲得內容我就說他是 String xml=is....
String str="想添加的內容";
String newxml=xml.replace("我是個字元串可以隨便填",str);

❺ java對xml文件添加節點

/*
這里使用了dom4j組件,你需要自己去下載dom4j。
其中a.xml是你的源文件。
這個程序沒有向磁碟中創建一個新文件,你可以自己修改代碼。
例如:
XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);
可以修改為
XMLWriter xmlWriter = new XMLWriter(new FileWriter("a.xml"), format);
這樣就可以修改源文件a.xml了。
*/

import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;

import java.io.*;

public class Test {
public static void main(String[] args) {
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(new File("a.xml"));
doc.getRootElement().addElement("PARAM")
.addElement("TASKLIST").addElement("TASK")
.addElement("DATA_TRAN_ID").addCDATA("14595");

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);
xmlWriter.write(doc);
xmlWriter.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
}

❻ java如何在為XML添加新節點

dom操作Java,需要下載dom4j.jar包。
具體操作請見:http://blog.csdn.net/cds27/archive/2008/03/02/2139110.aspx

❼ 怎麼在java類中載入xml文件

JAVA與XML文件,可以說是軟體開發的「黃金搭檔」,而如何使用JAVA完成對XML文件的讀取,是我們首先要解決的問題。
一、XML文件

這個示例文件包括了用來打開ORACLE資料庫的各種參數

<?xml version="1.0" encoding="UTF-8"?>
<dbmsg>
<dbinfo>
<drivername>oracle.jdbc.driver.OracleDriver</drivername>
<sConnStr>jdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB</sConnStr>
<username>SYS AS SYSDBA</username>
<password>voucherdb</password>
</dbinfo>
</dbmsg>

二、編寫類名為ReadXml的類,用於解析XML文件

我們要在應用程序中打開資料庫,就必須完成對該文件中drivername、sConnStr、username、password的讀取,通過查找有關資料,筆者編制了以下程序,用於讀取文件名為filename的XML文件。

package voucher.basic;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class ReadXml {
private String drivername;
private String sConnStr;
private String username;
private String password;

public String getDrivername() {
return drivername;
}

public String getSConnStr() {
return sConnStr;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}
public void setDrivername(String drivername) {
this.drivername = drivername;
}

public void setSConnStr(String connStr) {
sConnStr = connStr;
}

public void setUsername(String username) {
this.username = username;
}

public void setPassword(String password) {
this.password = password;
}

public ReadXml(String fileName){
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
InputStream is=new FileInputStream(fileName);
Document doc=dombuilder.parse(is);
Element root=doc.getDocumentElement();
NodeList dbinfo=root.getChildNodes();
if(dbinfo!=null){
for(int i=0;i<dbinfo.getLength();i++){
Node db=dbinfo.item(i);
for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){
if(node.getNodeType()==Node.ELEMENT_NODE){
if(node.getNodeName().equals("drivername")){
setDrivername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("sConnStr")){
setSConnStr(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("username")){
setUsername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("password")){
setPassword(node.getFirstChild().getNodeValue());
}
}
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

這個以ReadXml命名的類,使用了參數為文件名的構造方法,用戶只要將配置文件我名稱傳遞給該方法,就可以完成對XML文件的解析,進而完成對相應參數數的讀取。

三、如何獲取XML文件全路徑並讀取配置參數

獲取XML文件全路徑的方法有兩個,一是在servlet中獲取,二是在單獨的JAVA類中獲取。

1.在servlet中獲取XML文件的全路徑並讀取配置參數

程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");
String fileName = dirPath + "/conn.xml";
ReadXml xm = new ReadXml(fileName);
String DriverName = xm.getDrivername();
String connStr = xm.getSConnStr();
String user = xm.getUsername();
String pas = xm.getPassword();

將這段程序添加到servlet中dopost()之後即可完成參數的讀取

2.在單獨的JAVA類中獲取全路徑並讀取配置參數

程序片段

String dirpath = System.getProperty("user.dir");
String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";
ReadXml rdxml = new ReadXml(xmlFile);
String driverName = rdxml.getDrivername();
String sConnStr = rdxml.getSConnStr();
String userName = rdxml.getUsername();
String passWord = rdxml.getPassword();

註:配置文件conn.xml保存在webroot/WEB-INF目錄中。

❽ 怎麼通過java代碼向xml文件中添加註釋

package com.tuobao.test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class testDom4j {

private static final String path = "f:" + java.io.File.separator
+ "eee.xml";

/**
* @param args
*/
public static void main(String[] args) {
// System.out.println(createXMLFile(path));
// System.out.println(modiXMLFile(path, path));
System.out.println(formatXMLFile(path));
}

/**
* 建立一個XML文檔,文檔名由輸入屬性決定
*
* @param param
* filename 需建立的文件名
* @return返回操作結果, 0表失敗, 1表成功
*/
public static int createXMLFile(String filename) {
/** 返回操作結果, 0表失敗, 1表成功 */
int returnValue = 0;
/** 建立document對象 */
Document document = DocumentHelper.createDocument();
/** 建立XML文檔的根books */
Element booksElement = document.addElement("books");
/** 加入一行注釋 */
booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");
/** 加入第一個book節點 */
Element bookElement = booksElement.addElement("book");
/** 加入show屬性內容 */
bookElement.addAttribute("show", "yes");
/** 加入title節點 */
Element titleElement = bookElement.addElement("title");
/** 為title設置內容 */
titleElement.setText("Dom4j Tutorials");

/** 類似的完成後兩個book */
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show", "yes");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene Studing");
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show", "no");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene in Action");

/** 加入owner節點 */
Element ownerElement = booksElement.addElement("owner");
ownerElement.setText("O'Reilly");

try {
/** 將document中的內容寫入文件中 */
XMLWriter writer = new XMLWriter(new FileWriter(new java.io.File(
filename)));
writer.write(document);
writer.flush();
writer.close();
/** 執行成功,需返回1 */
returnValue = 1;
} catch (Exception ex) {
returnValue = 0;
ex.printStackTrace();
}
return returnValue;
}

/**
* 修改XML文件中內容,並另存為一個新文件 重點掌握dom4j中如何添加節點,修改節點,刪除節點
*
* @param filename
* 修改對象文件
* @param newfilename
* 修改後另存為該文件
* @return 返回操作結果, 0表失敗, 1表成功
*/
public static int modiXMLFile(String filename, String newfilename) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new java.io.File(filename));
/** 修改內容之一: 如果book節點中show屬性的內容為yes,則修改成no */
/** 先用xpath查找對象 */
List list = document.selectNodes("/books/book/@show");
Iterator iter = list.iterator();
while (iter.hasNext()) {
Attribute attribute = (Attribute) iter.next();
if (attribute.getValue().equals("yes")) {
attribute.setValue("no");
}
}

/**
* 修改內容之二: 把owner項內容改為"測試修改"
* 並在owner節點中加入date節點,date節點的內容為2004-09-11,還為date節點添加一個屬性type
*/
list = document.selectNodes("/books/owner");
iter = list.iterator();
if (iter.hasNext()) {
Element ownerElement = (Element) iter.next();
ownerElement.setText("測試修改");
Element dateElement = ownerElement.addElement("date");
dateElement.setText("2008-09-11");
dateElement.addAttribute("type", "日期");
}

/** 修改內容之三: 若title內容為Dom4j Tutorials,則刪除該節點 */
list = document.selectNodes("/books/book");
iter = list.iterator();
while (iter.hasNext()) {
Element bookElement = (Element) iter.next();
Iterator iterator = bookElement.elementIterator("title");
while (iterator.hasNext()) {
Element titleElement = (Element) iterator.next();
if (titleElement.getText().equals("Dom4j Tutorials")) {
bookElement.remove(titleElement);
}
}
}

try {
/** 格式化輸出,類型IE瀏覽一樣 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML編碼 */
// format.setEncoding("GBK");
/** 將document中的內容寫入文件中 */
// XMLWriter writer = new XMLWriter(new FileWriter(new
// File(newfilename)),format);
// 保證編碼為UTF-8,支持中文寫入
XMLWriter writer = new XMLWriter(new FileOutputStream(new File(
newfilename)), format);
writer.write(document);
writer.flush();
writer.close();
/** 執行成功,需返回1 */
returnValue = 1;
} catch (Exception ex) {
returnValue = 0;
ex.printStackTrace();
}

} catch (Exception ex) {
ex.printStackTrace();
}
return returnValue;
}

/**
* 格式化XML文檔,並解決中文問題
*
* @param filename
* @return
*/
public static int formatXMLFile(String filename) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(filename));
XMLWriter writer = null;
/** 格式化輸出,類型IE瀏覽一樣 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML編碼 */
format.setEncoding("utf-8");
writer = new XMLWriter(new FileWriter(new File(filename)), format);
writer.write(document);
writer.flush();
writer.close();
/** 執行成功,需返回1 */
returnValue = 1;
} catch (Exception ex) {
returnValue = 0;
ex.printStackTrace();
}
return returnValue;
}
}
這個希望對你有用。。

❾ java XML添加文本內容

bookElement.setTextContent("鹿鼎記");

閱讀全文

與javaxml添加相關的資料

熱點內容
linuxwss 瀏覽:848
一個軟體需要登錄伺服器地址 瀏覽:923
哪裡有解壓程序 瀏覽:299
java靜態方法內存 瀏覽:545
我的世界ec伺服器如何帶vip 瀏覽:737
什麼是由解析器域名和伺服器構成 瀏覽:414
自動識別電影信息源碼 瀏覽:849
柱筋箍筋加密區怎麼算 瀏覽:48
鋼筋中加密15倍是什麼意思 瀏覽:366
esc加密演算法 瀏覽:518
linux運行exe命令 瀏覽:124
一級建造師管理pdf 瀏覽:720
如何更改伺服器登錄賬號 瀏覽:317
看pdf文件軟體 瀏覽:183
android恢復模式 瀏覽:808
生命令人憂 瀏覽:597
魔獸搬磚怎麼選擇伺服器 瀏覽:771
程序員求伯君圖片 瀏覽:827
安卓手機如何打開mark2文件 瀏覽:662
紅米手機解壓中文解壓密碼 瀏覽:316