JDOM+JSP+JAVABEAN的一個例子(二) (轉)

amyz發表於2007-11-25
JDOM+JSP+JAVABEAN的一個例子(二) (轉)[@more@] 

用做示例的如下:exampleA.xmlmicrosoft-com::office" />

 

  王五

 

  2002-6-6

  50.0

 

 

  add

 

  add

 

 

 

  XML在Java中的應用

  李四

  2002-9-16

 

 

 

 

 

接下來就是在中來這兩個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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章