亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:40:09
字體:
來源:轉載
供稿:網友
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;i<imags.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的初始化語句中的時候,讀沒問題,但是當寫或者刪的時候也會報錯;
所以就寫成現在這樣了,感覺有點亂亂的,但也沒想到什么好的方法,就先貼到這里了,以后可能會用得著
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
高清欧美性猛交xxxx黑人猛交| 欧美中文字幕在线视频| 国产精品亚洲欧美导航| 国产精品扒开腿做爽爽爽的视频| 亚洲国产成人精品一区二区| 中文字幕亚洲欧美日韩高清| 欧美激情喷水视频| 国产精品自拍偷拍| 中文字幕v亚洲ⅴv天堂| 91夜夜揉人人捏人人添红杏| 韩日欧美一区二区| 日韩av网址在线观看| 国产精品久久久久久影视| 久久国产精品久久久久久久久久| 中文字幕日韩高清| 久久久欧美精品| 国产美女被下药99| 国产成人鲁鲁免费视频a| 亚洲综合色av| 色www亚洲国产张柏芝| 日韩av色综合| 国产精品美女主播在线观看纯欲| 91久久精品国产91久久性色| 欧美壮男野外gaytube| 在线看福利67194| 国产精品电影久久久久电影网| 国产精品va在线播放我和闺蜜| 久久久亚洲影院你懂的| 欧美一区二区三区……| 国产精品成人aaaaa网站| 欧美日韩加勒比精品一区| 国产亚洲欧美视频| 日韩中文字幕在线看| 日韩在线免费观看视频| 国产成+人+综合+亚洲欧洲| 国产美女精彩久久| 久久99亚洲热视| 欧美色视频日本版| 亚洲理论片在线观看| 中文字幕亚洲自拍| 日韩欧美精品网址| 亚洲电影天堂av| 日韩av网址在线观看| 国产精品av免费在线观看| 日韩成人在线视频观看| 97精品久久久中文字幕免费| 欧美三级免费观看| 98精品国产自产在线观看| 亚洲小视频在线观看| 久久久精品欧美| 日韩av中文字幕在线播放| 日韩欧美精品在线观看| 欧美性生交xxxxxdddd| 狠狠躁夜夜躁久久躁别揉| 精品久久久久久国产| 国产午夜精品久久久| 在线色欧美三级视频| 成人欧美一区二区三区黑人孕妇| 欧美—级a级欧美特级ar全黄| 91精品国产高清久久久久久| 国自在线精品视频| 中文字幕视频在线免费欧美日韩综合在线看| 黑人精品xxx一区一二区| 亚洲天堂av在线免费观看| 国产日韩欧美在线观看| 中日韩美女免费视频网址在线观看| 成人黄色短视频在线观看| 亚洲欧洲午夜一线一品| 欧洲精品久久久| 日韩久久精品成人| 欧美一级大片在线观看| 欧美精品做受xxx性少妇| 国产精品久久久久久久久影视| 欧洲美女7788成人免费视频| 欧美一区二区大胆人体摄影专业网站| 日韩免费精品视频| 亚洲国产精彩中文乱码av| 91青草视频久久| 欧美激情中文字幕在线| 在线一区二区日韩| 亚洲国产精品一区二区三区| 日本一区二区在线免费播放| 亚洲精品国精品久久99热一| 亚洲国产天堂久久国产91| 97在线观看免费高清| 国产午夜精品一区理论片飘花| 中国china体内裑精亚洲片| 美女av一区二区三区| 日韩av影视在线| 欧美亚洲成人网| 国产一区二区三区在线播放免费观看| 亚洲美女中文字幕| 性色av香蕉一区二区| 国产精品一区二区久久国产| 亚洲精品www久久久久久广东| 欧美精品成人91久久久久久久| 91伊人影院在线播放| 欧美日韩久久久久| 欧美性色视频在线| 在线观看精品自拍私拍| 久久久精品国产亚洲| 性日韩欧美在线视频| 亚洲国产成人91精品| 欧美另类第一页| 欧美老女人性生活| 亚洲人成在线观看| 日本成人在线视频网址| 国内精品一区二区三区四区| 国产精品国产自产拍高清av水多| 国产精品久久久久久网站| 国产精品第8页| 亚洲激情视频在线观看| 在线视频精品一| 2019中文字幕在线| 亚洲成人在线视频播放| 成人久久一区二区三区| 色哟哟亚洲精品一区二区| 亚洲自拍欧美色图| 精品国产一区二区三区久久| 欧美精品videosex牲欧美| 欧美另类老女人| 91黑丝高跟在线| 91麻豆桃色免费看| 欧美老女人在线视频| 久久精视频免费在线久久完整在线看| 第一福利永久视频精品| 中文字幕欧美精品日韩中文字幕| 亚洲国产免费av| 在线播放国产一区中文字幕剧情欧美| 国产成人在线视频| 日韩美女视频中文字幕| 欧美亚洲国产日韩2020| 97精品欧美一区二区三区| 亚洲国产99精品国自产| 亚洲精品xxx| 欧美激情xxxxx| 欧美成年人视频网站欧美| 97久久精品人搡人人玩| 国产福利精品视频| 日韩av免费观影| 97视频在线观看视频免费视频| 国产97人人超碰caoprom| 国产欧美一区二区白浆黑人| 中文字幕久热精品在线视频| 久久精品在线播放| 亚洲成人av片在线观看| 日本在线观看天堂男亚洲| 曰本色欧美视频在线| 欧美激情日韩图片| 成人黄色av网| 亚洲成人激情视频| 91美女片黄在线观看游戏| 日韩av电影免费观看高清| 久久国产视频网站| 亚洲欧美制服丝袜| 92国产精品久久久久首页| 欧美专区在线观看| 国模叶桐国产精品一区| 欧美激情第三页| 久久久久久久久久久久久久久久久久av| 久久亚洲精品国产亚洲老地址| 国产视频精品一区二区三区| 国产日韩精品视频| 国产亚洲人成网站在线观看|