婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > java對XML文件的解析、節點的增加、刪除操作總結

java對XML文件的解析、節點的增加、刪除操作總結

熱門標簽:地圖標注專業和非專業 汝南縣地圖標注app 外呼直播語音系統 智能電話機器人銷售話術 湖北地圖標注公司 四川正規外呼系統軟件 山東ai外呼電銷機器人好用嗎 福建電銷貓機器人收費 甘肅銷售電銷機器人公司
1、java代碼:
主要采用dom來進行操作
復制代碼 代碼如下:

package test;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;
public class XmlOprate {
Document doc;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
NodeList imags;
String path;
public NodeList getImags() {
return imags;
}
public void setImags(NodeList imags) {
this.imags = imags;
}
/**
* 構造方法
* @param path:xml文件的路徑
* @param nodes:要解析的xml節點名稱
*/
public XmlOprate(String path) {
super();
this.path = path;
System.out.println(System.getProperty("user.dir"));
}
/**
* 解析XML
* @param path
*/
public void readXml(){
try {
builder = factory.newDocumentBuilder();
Document doc=builder.parse(path);
doc.normalize();
NodeList imags =doc.getElementsByTagName("imags");
this.setImags(imags);
for (int i=0;iimags.getLength();i++){
Element link=(Element) imags.item(i);
System.out.print("title: ");
System.out.println(link.getElementsByTagName("title").item(0).getFirstChild().getNodeValue());
System.out.print("URL: ");
System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue());
System.out.print("imgsrc: ");
System.out.println(link.getElementsByTagName("imgsrc").item(0).getFirstChild().getNodeValue());
System.out.println();
}
}catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* addCode
* @param path
*/
public void addXmlCode(String imgsrc,String title,String url){
try {
builder = factory.newDocumentBuilder();
Document doc=builder.parse(path);
doc.normalize();
Text textseg;
Element imag=doc.createElement("imags");
Element linkimgsrc=doc.createElement("imgsrc");
textseg=doc.createTextNode(imgsrc);
linkimgsrc.appendChild(textseg);
imag.appendChild(linkimgsrc);
Element linktitle=doc.createElement("title");
textseg=doc.createTextNode(title);
linktitle.appendChild(textseg);
imag.appendChild(linktitle);
Element linkurl=doc.createElement("url");
textseg=doc.createTextNode(url);
linkurl.appendChild(textseg);
imag.appendChild(linkurl);
doc.getDocumentElement().appendChild(imag);
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer;
transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
transformer.transform(source, result);
}catch(Exception e){
}
}
/**
* delete xml code
* @param path
*/
public void delXmlCode(){
try {
builder = factory.newDocumentBuilder();
doc=builder.parse(path);
doc.normalize();
NodeList imags =doc.getElementsByTagName("imags");
Element elink=(Element) imags.item(0);
elink.removeChild(elink.getElementsByTagName("imgsrc").item(0));
elink.removeChild(elink.getElementsByTagName("title").item(0));
elink.removeChild(elink.getElementsByTagName("url").item(0));
doc.getFirstChild().removeChild(elink);
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File(path));
transformer.transform(source, result);
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
}

2、xml部分
復制代碼 代碼如下:

?xml version="1.0" encoding="UTF-8" ?>
root>
imags>
imgsrc>images/ad-01.jpg/imgsrc>
title>胡志明市/title>
url>http://torchrelay.beijing2008.cn/cn/journey/hochiminhcity//url>
/imags>
imags>
imgsrc>images/ad-02.jpg/imgsrc>
title>香港2/title>
url>http://torchrelay.beijing2008.cn/cn/journey/hongkong//url>
/imags>
/root>

3、總結:
看對xml操作的三個方法(讀、寫、刪),他們的初始化語句都相同:
復制代碼 代碼如下:

builder = factory.newDocumentBuilder();
Document doc=builder.parse(path);
doc.normalize();

開始我打算把這部分相同的部分拿出來寫在構造方法中,但是在測試中發現,這樣總是會報空指針的錯誤(搞了我好久);
而只是把
builder = factory.newDocumentBuilder();
放到builder的初始化語句中的時候,讀沒問題,但是當寫或者刪的時候也會報錯;
所以就寫成現在這樣了,感覺有點亂亂的,但也沒想到什么好的方法,就先貼到這里了,以后可能會用得著
您可能感興趣的文章:
  • Java對XML文件增刪改查操作示例
  • Java操作XML工具類XmlUtil詳解
  • java使用DOM4J對XML文件進行增刪改查操作
  • java中四種操作xml方式的比較
  • java實現XML增加元素操作簡單示例
  • java使用jaxb操作xml示例
  • java操作(DOM、SAX、JDOM、DOM4J)xml方式的四種比較與詳解
  • java操作xml的方法匯總及解析

標簽:吳忠 梅州 黔東 臨沂 南充 白銀 昌都 肇慶

巨人網絡通訊聲明:本文標題《java對XML文件的解析、節點的增加、刪除操作總結》,本文關鍵詞  java,對,XML,文件,的,解析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《java對XML文件的解析、節點的增加、刪除操作總結》相關的同類信息!
  • 本頁收集關于java對XML文件的解析、節點的增加、刪除操作總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 介休市| 延川县| 丹棱县| 毕节市| 新巴尔虎左旗| 蓝田县| 怀安县| 且末县| 来宾市| 南宫市| 新建县| 仁寿县| 讷河市| 小金县| 克东县| 白城市| 新余市| 凌源市| 怀来县| 凤凰县| 马龙县| 盘锦市| 六安市| 宝清县| 阿荣旗| 聊城市| 柘荣县| 易门县| 乌恰县| 海南省| 渝北区| 湘阴县| 汉寿县| 盐城市| 普陀区| 孝昌县| 杭锦旗| 息烽县| 北宁市| 克拉玛依市| 绥德县|