JDOM+JSP+JAVABEAN的一個例子(二) (轉)
用做示例的如下:exampleA.xmlmicrosoft-com::office" />
接下來就是在中來這兩個javabean實現對XML的操作,jsp檔案的程式碼如下:
//xml檔案的路徑(絕對路徑)
String fileName="exampleA.xml";
String aa=getContext().getRealPath("/")+"jdom";
String trace=aa+fileName;
//初始化讀寫的bean
XML.readXML readXmlBean = new XML.readXML();
XML.writeXML writeXmlBean = new XML.writeXML();
//從xml檔案中得到相關資料
Document doc;
readXmlBean.readXML(trace);
doc=readXmlBean.getXmlDoc();
//加入一條處理指令
ProcessingInstruction pi = new ProcessingInstruction
("xml-stylesheet","href="bookList.html.xsl" type="text/xsl"");
doc.addContent(pi);
//得到根元素
Element = doc.getRootElement();
//得到根元素所有子元素的集合
java.util.List books = root.getChildren();
//得到第一個book元素
Element book = (Element)books.get(0);
//為第一本書新增一條屬性
Attribute a = new Attribute("hot1","true");
book.setAttribute(a);
//得到指定的字元素
Element author = book.getChild("author");
//將作者改為王五
author.setText("王五");
//得到指定的字元素
Element price = book.getChild("price");
//修改價格
price.setText(Float.toString(50.0f));
//疊代顯示所有元素
Iterator it = books.iterator();
while (it.hasNext()) {
Element e = (Element) it.next();
out.println(e.getChild("name").getTextTrim()+"
");
List priceElements = e.getChildren("price");
Iterator it2 = priceElements.iterator();
while (it2.hasNext()) {
Element pe = (Element) it2.next();
out.println(pe.getAttributeValue("currency")+"
");
out.println(pe.getAttributeValue("amount")+"
");
}
}
//指令操作
String target = pi.getTarget();
String data = pi.getData();
String type = pi.getValue("type");
out.println(target+"
"+data+"
"+type+"
");
//刪除屬性
book.removeAttribute("hot");
//刪除指令
doc.removeContent(pi);
//新增節點
Element add = new Element("add");
a= new Attribute("sku","123456");
add.setAttribute(a);
add.addContent("add");
book.addContent(add);
//沒有內容只有屬性的節點
Element attr = new Element("attribute");
a= new Attribute("sku","123456");
attr.setAttribute(a);
a= new Attribute("sf234","123456");
attr.setAttribute(a);
book.addContent(attr);
//刪除節點
book.removeContent(attr);
book.removeContent(add);
//寫入XML檔案
writeXmlBean.writeXML(doc,trace);
%>
這個例子裡包括了一般的增加、刪除、修改節點和屬性和指令以及顯示XML資料等一般的XML檔案操作。如果只是純粹的顯示資料的話建議把所有的取資料操作到放到javabean裡去,jsp頁面只是顯示一下結果,這樣可以提高執行的速度,減少出錯的機率:)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984588/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDOM+JSP+JAVABEAN的一個例子(一) (轉)JSJavaBean
- 行列轉換的一個例子
- 一個可逆加密的例子 (轉)加密
- 一個sql的行列轉置的例子SQL
- 一個理解wait()與notify()的例子 (轉)AI
- 資料庫慢方法論二 ——一個例子資料庫
- 一個類資料型別的STL例子 (轉)資料型別
- 一個jquery的小例子jQuery
- C++ Boost 之Python(一個簡單的例子) (轉)C++Python
- 軟體開發中的矛盾——一個簡單的例子 (轉)
- 二個SQL tuning例子(使用case)SQL
- Nginx querystring 轉寫的兩個例子Nginx
- 相鄰變數內容互相干擾的一個例子 (轉)變數
- 從一個MysqL的例子來學習查詢語句(轉)MySql
- 用java實現一個簡單的序列化的例子(轉)Java
- 用java實現一個簡單的序列化的例子 (轉)Java
- 關於Java的RMI程式設計的一個簡單的例子 (轉)Java程式設計
- 一個複雜的json例子JSON
- 一個小例子搞懂redux的套路Redux
- 擼一個簡單的MVVM例子MVVM
- 第一個JavaScript的例子學習JavaScript
- 繫結變數的一個例子變數
- 分散式死鎖的一個例子分散式
- SAP CRM WebClient UI cross component跳轉的一個具體例子WebclientUIROS
- es6 class進階【一個將class轉原型物件的例子】原型物件
- 一個NAT+SQUID+DNAT+FORWARD+反彈式FIREWALL的例子(轉)UIForward
- 一個使用getopt()函式獲取命令列引數的例子(轉)函式命令列
- 幾個行列轉換的實用小例子
- 一個例子上手 SVG 動畫SVG動畫
- 物件導向的方法在遊戲中的應用的一個例子(上)(轉)物件遊戲
- 物件導向的方法在遊戲中的應用的一個例子(下)(轉)物件遊戲
- Java中的反射機制(二) 一個利用反射進行物件拷貝的例子Java反射物件
- 一個學習 Koa 原始碼的例子原始碼
- 用一個通俗的例子講清楚APIAPI
- 從一個例子看Go的逃逸分析Go
- 一個最簡單的 Github workflow 例子Github
- 一個查詢不走索引的例子索引
- [Java]一個DeadLock(死鎖)的例子Java