国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Java開發(fā)筆記 — JAXP DOM

對于DOM可以說已經(jīng)不算陌生,DOM (Document Object Model,文檔對象模型)定義訪問和操作文檔的一套標(biāo)準(zhǔn)方法。XML DOM和HTML DOM原理是一樣的,所以我將不過多的介紹DOM的內(nèi)容。其實(shí)DOM的宗旨就是所有的內(nèi)容都是節(jié)點(diǎn),這是我個人的理解。

什么是JAXP呢?JAXP是Java API for XML Processing的英文字頭縮寫,中文含義是:用于XML文檔處理的使用Java語言編寫的編程接口。JAXP支持DOM、SAX、XSLT等標(biāo)準(zhǔn)。

以下將介紹JAXP DOM的常見操作:
一、對DOM操作必須的
       ⒈創(chuàng)建解釋器工廠DocumentBuilderFactory,使用newInstance() 創(chuàng)建一個新的實(shí)例。
       ⒉根據(jù)解釋器工廠創(chuàng)建解釋器DocumentBuilder,使用工廠實(shí)例的newDocumentBuilder() 方法創(chuàng)建解釋器。
       ⒊得到Document對象,通過解釋器的parse(File f) 方法,得到XML文件的Document。

Java語言:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(new File("src/stu.xml"));

二、讀取XML文件下的元素
       【壹】讀取XML文件下某個標(biāo)簽的內(nèi)容
       ⒈取得Docment對象。
       ⒉得到標(biāo)簽對應(yīng)的節(jié)點(diǎn)對象(元素對象)document.getElementByTagName(“節(jié)點(diǎn)名稱”).item(“第幾個節(jié)點(diǎn)”)。
       ⒊讀取節(jié)點(diǎn)對象的內(nèi)容element.getTextContent();

Java語言:

Element e=document.getDocumentElement();
Element name=(Element) e.getElementsByTagName("名字").item(1);
String text = name.getTextContent();

       【貳】讀取XML文件下某個標(biāo)簽的屬性
       ⒈取得Docment對象。
       ⒉得到標(biāo)簽對應(yīng)的節(jié)點(diǎn)對象(元素對象)document.getElementByTagName(“節(jié)點(diǎn)名稱”).item(“第幾個節(jié)點(diǎn)”)。
       ⒊讀取節(jié)點(diǎn)對象的內(nèi)容element.getAttribute();

Java語言:

Element e=document.getDocumentElement();
Element name=(Element) e.getElementsByTagName("名字").item(1);
String Attribute = name.getAttribute("屬性名稱");

三、使用JAXP DOM對XML進(jìn)行添加操作
       【壹】添加標(biāo)簽
       ⒈取得Docment對象。
       ⒉創(chuàng)建節(jié)點(diǎn)元素document.createElement(“標(biāo)簽名”)
       ⒊添加標(biāo)簽document.appendChild(“創(chuàng)建的標(biāo)簽”)
       ⒋更新被更改的節(jié)點(diǎn)輸入到外部文件
       *(1)得到轉(zhuǎn)換器工廠TransformerFactory,使用TransformerFactory.newInstance()。
       *(2)得到轉(zhuǎn)換器Transformer,使用轉(zhuǎn)換器工廠的newTransformer()方法。
       *(3)轉(zhuǎn)換器轉(zhuǎn)換transform(new DOMSource(document),new StreamResult(new File(“src/xxx.xml”)))。

Java語言:

Element stu=document.createElement("學(xué)生");
Element name=document.createElement("名字");
name.setTextContent("賈寶玉");
stu.appendChild(name);
//把stu 掛到 根元素下
document.getDocumentElement().appendChild(stu);
//更新文檔
//1.得打TransformerFactory
TransformerFactory tff=TransformerFactory.newInstance();
//2.得到一個轉(zhuǎn)化器
Transformer tf=tff.newTransformer();
//3.轉(zhuǎn)化
tf.transform(new DOMSource(document), new StreamResult(new File("src/myClass.xml")));

       【貳】標(biāo)簽添加屬性
       ⒈取得Docment對象。
       ⒉得到標(biāo)簽對應(yīng)的節(jié)點(diǎn)對象(元素對象)document.getElementByTagName(“節(jié)點(diǎn)名稱”).item(“第幾個節(jié)點(diǎn)”)。
       ⒊設(shè)置節(jié)點(diǎn)對象的屬性setAttribute(“sex”, “男”)。
       ⒋更新被更改的節(jié)點(diǎn)輸入到外部文件

Java語言:

//得到第三個學(xué)生的節(jié)點(diǎn)對象
Element e=(Element) doc.getElementsByTagName("學(xué)生").item(2);
e.setAttribute("sex", "男");//添加屬性
//這是添加屬性的第二種方法.
Attr att=doc.createAttribute("sex2");
att.setTextContent("女");
e.setAttributeNode(att);
//更新
TransformerFactory tff=TransformerFactory.newInstance();
Transformer tf=tff.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new File("src/myClass.xml")));

三、使用JAXP DOM對XML進(jìn)行刪除操作
       【壹】刪除標(biāo)簽
       ⒈取得Docment對象。
       ⒉得到要刪除標(biāo)簽對應(yīng)的節(jié)點(diǎn)對象(元素對象)document.getElementByTagName(“節(jié)點(diǎn)名稱”).item(“第幾個節(jié)點(diǎn)”)。
       ⒊通過父節(jié)點(diǎn)刪除標(biāo)簽e.getParentNode().removeChild(e)。
       ⒋更新被更改的節(jié)點(diǎn)輸入到外部文件。

Java語言:

//得到第三個學(xué)生的節(jié)點(diǎn)對象
Element e=(Element) doc.getElementsByTagName("學(xué)生").item(2);
doc.getDocumentElement().removeChild(e);
//我們在刪除某個節(jié)點(diǎn)的時候,可以通過 得打其父節(jié)點(diǎn),然后將其刪除.
e.getParentNode().removeChild(e);
TransformerFactory tff=TransformerFactory.newInstance();
Transformer tf=tff.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new File("src/myClass.xml")));

       【貳】刪除標(biāo)簽屬性
       ⒈取得Docment對象。
       ⒉得到要刪除標(biāo)簽對應(yīng)的節(jié)點(diǎn)對象(元素對象)document.getElementByTagName(“節(jié)點(diǎn)名稱”).item(“第幾個節(jié)點(diǎn)”)。
       ⒊刪除標(biāo)簽屬性e.removeAttribute(“屬性名”);
       ⒋更新被更改的節(jié)點(diǎn)輸入到外部文件

四、更新
       【壹】更新標(biāo)簽setTextContent(“內(nèi)容”)。
       【貳】更新標(biāo)簽屬性setAttribute(“屬性名”, 屬性值 )

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用JAXP進(jìn)行DOM解析( DocumentBuilderFactory、DocumentBuil...
JAXP(Java API for XML Parsing)
文檔對象模型(DOM
關(guān)于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
Dom4j解析和生成XML文檔
xml文件解析-DOM
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服