ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>色综合综合色,动漫成人在线,av影片免费在线观看http://www.aygfsteel.com/vso/category/17095.htmlJAVA EEzh-cnWed, 28 Feb 2007 08:18:40 GMTWed, 28 Feb 2007 08:18:40 GMT60应用JDOMå¤„ç†æ•°æ®åº“到XML转æ¢çš„JSP实现http://www.aygfsteel.com/vso/articles/80456.htmlvsovsoFri, 10 Nov 2006 09:33:00 GMThttp://www.aygfsteel.com/vso/articles/80456.htmlhttp://www.aygfsteel.com/vso/comments/80456.htmlhttp://www.aygfsteel.com/vso/articles/80456.html#Feedback0http://www.aygfsteel.com/vso/comments/commentRss/80456.htmlhttp://www.aygfsteel.com/vso/services/trackbacks/80456.html阅读全文

vso 2006-11-10 17:33 å‘表评论
]]>
用JDOMæ“作XMLæ–‡äšghttp://www.aygfsteel.com/vso/articles/80436.htmlvsovsoFri, 10 Nov 2006 08:48:00 GMThttp://www.aygfsteel.com/vso/articles/80436.htmlhttp://www.aygfsteel.com/vso/comments/80436.htmlhttp://www.aygfsteel.com/vso/articles/80436.html#Feedback0http://www.aygfsteel.com/vso/comments/commentRss/80436.htmlhttp://www.aygfsteel.com/vso/services/trackbacks/80436.html˜q™å°±æ˜¯JDOM设计者的目标。如果你曄¡»ä½¿ç”¨˜q‡çƒ¦äººçš„SAX或是DOMæ¥å¤„ç†XMLåQŒä½ ž®×ƒ¼šçŸ¥é“ä¸ÞZ»€ä¹ˆè¦æœ‰JDOM或者是JAXB。在今年åQ?002åQ‰çš„JavaOne会议上JDOM的主è¦åˆ›å§‹ähJason Hunter有一½‹‡ç²¾å½©çš„æ¼”讲介ç»äº†JDOM技术,题目ž®±æ˜¯JDOM Makes XML Easy。Â?br />获得òq¶å®‰è£…JDOM 
在http://jdom.orgå¯ä»¥ä¸‹è²JDOM的最新版本。以JDOM beta8çš?˜q›åˆ¶ç‰ˆæœ¬ä¸ÞZ¾‹ã€‚下载åŽè§£åŽ‹¾~©ï¼ŒJDOMçš„jaræ–‡äšgž®±æ˜¯build目录下的文äšgjdom.jaråQŒå°†ä¹‹åŠ å…¥ç±»è·¯å¾„ã€‚å¦å¤–JDOM˜q˜éœ€è¦lib目录下那些jaræ–‡äšg如xerces.jar,jaxp.jar的支æŒã€‚如果在使用中出çŽîC»¥ä¸‹é”™è¯¯ï¼šÂ 
java.lang.NoSuchMethodError 
或�br />java.lang.NoClassDefFoundError: org/xml/sax/SAXNotRecognizedException 
你需è¦ä¿è¯xerces.jaræ–‡äšg在CLASSPATH中ä½äºŽå…¶ä»–XML¾c»ï¼Œå¦‚JAXP或Crimson之å‰åQŒè¿™äº›ç±»æ–‡äšgåQŒåŒ…括以å‰è€ç‰ˆæœ¬çš„xercesåQŒå¯èƒ½ä¸æ”¯æŒSAX2.0或DOM Level 2。于是导致了上é¢çš„错误。Â?br />
一个简å•的例å­Â 
JDOMçš„å¤„ç†æ–¹å¼æœ‰äº›ç±»ä¼égºŽDOMåQŒä½†å®ƒä¸»è¦æ˜¯ç”¨SAX实现的,你ä¸å¿…担心处ç†é€Ÿåº¦å’Œå†…存的问题。å¦å¤–,JDOM中几乎没有接å£ï¼Œçš„类全部是实实在在的¾c»ï¼Œæ²¡æœ‰¾cÕd·¥åŽ‚ç±»çš„ã€?br />
䏋颿˜¯å®žä¾‹ç”¨çš„XMLæ–‡äšg:

<?xml version="1.0" encoding="GBK"?>
<书库>
<ä¹?gt;
<书å>Java¾~–程入门</书å>
<作�gt;张三</作�gt;
<出版½C?gt;电å­å‡ºç‰ˆ½C?lt;/出版½C?gt;
<ä»äh ¼>35.0</ä»äh ¼>
<出版日期>2002-10-07</出版日期>
</ä¹?gt;
<ä¹?gt;
<书å>XML在Java中的应用</书å>
<作è€?gt;æŽå››</作è€?gt;
<出版½C?gt;希望出版½C?lt;/出版½C?gt;
<ä»äh ¼>92.0</ä»äh ¼>
<出版日期>2002-10-07</出版日期>
</ä¹?gt;
</书库>

䏋颿˜¯æ“作XMLæ–‡äšgçš„Bean:
package xml;
/**
* XML的读写æ“作Bean
*/
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class XmlBean{
private String bookname,author,pub,price,pubdate;
public String getbookname() { return bookname;}
public String getauthor() { return author;}
public String getpub() { return pub;}
public String getprice() { return price;}
public String getpubdate() { return pubdate;}
public void setbookname(String bookname) { this.bookname =bookname ; }
public void setauthor(String author) { this.author =author; }
public void setpub(String pub) { this.pub =pub ; }
public void setprice(String price) { this.price =price ; }
public void setpubdate(String pubdate) { this.pubdate =pubdate ; }
public XmlBean(){}
/**
* è¯Õd–XMLæ–‡äšg所有信æ?br />*/
public Vector LoadXML(String path)throws Exception{
Vector xmlVector = null;
FileInputStream fi = null;
try{
fi = new FileInputStream(path);
xmlVector = new Vector();
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元ç´?br />List books = root.getChildren(); //得到根元素所有å­å…ƒç´ çš„集å?br />Element book =null;
XmlBean xml =null;
for(int i=0;i<books.size();i++){
xml = new XmlBean();
book = (Element)books.get(i ); //得到½W¬ä¸€æœ¬ä¹¦å…ƒç´ 
xml.setbookname(book.getChild("书å").getText());
xml.setauthor(book.getChild("作�).getText());
xml.setpub(book.getChild("出版½C?).getText());
xml.setprice(book.getChild("ä»äh ¼").getText());
xml.setpubdate(book.getChild("出版日期").getText());
xmlVector.add(xml);
}
}
catch(Exception e){
System.err.println(e+"error");
}
finally{
try{
fi.close();
}
catch(Exception e){
e.printStackTrace();
}
}
return xmlVector;
}
/**
* 删除XMLæ–‡äšg指定信æ¯
*/
public static void DelXML(HttpServletRequest request)throws Exception{
FileInputStream fi = null;
FileOutputStream fo = null;
try{
String path=request.getParameter("path");
int xmlid=Integer.parseInt(request.getParameter("id"));
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元ç´?br />List books = root.getChildren(); //得到根元素所有å­å…ƒç´ çš„集å?br />books.remove(xmlid);//删除指定ä½ç½®çš„å­å…ƒç´ 
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK");
fo=new FileOutputStream(path);
outp.output(doc,fo);
}
catch(Exception e){
System.err.println(e+"error");
}
finally{
try{
fi.close();
fo.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
/**
* æ·ÕdŠ XMLæ–‡äšg指定信æ¯
*/
public static void AddXML(HttpServletRequest request)throws Exception{
FileInputStream fi = null;
FileOutputStream fo = null;
try{
String path=request.getParameter("path");
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元ç´?br />List books = root.getChildren(); //得到根元素所有å­å…ƒç´ çš„集å?br />String bookname=request.getParameter("bookname");
String author=request.getParameter("author");
String price=request.getParameter("price");
String pub=request.getParameter("pub");
String pubdate=request.getParameter("pubdate");
Text newtext;
Element newbook= new Element("�);
Element newname= new Element("书å");
newname.setText(bookname);
newbook.addContent(newname);
Element newauthor= new Element("作�);
newauthor.setText(author);
newbook.addContent(newauthor);
Element newpub= new Element("出版½C?);
newpub.setText(pub);
newbook.addContent(newpub);
Element newprice= new Element("ä»äh ¼");
newprice.setText(price);
newbook.addContent(newprice);
Element newdate= new Element("出版日期");
newdate.setText(pubdate);
newbook.addContent(newdate);
books.add(newbook);//增加å­å…ƒç´?br />String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK");
fo=new FileOutputStream(path);
outp.output(doc,fo);
}
catch(Exception e){
System.err.println(e+"error");
}
finally{
try{
fi.close();
fo.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
/**
* 修改XMLæ–‡äšg指定信æ¯
*/
public static void EditXML(HttpServletRequest request)throws Exception{
FileInputStream fi = null;
FileOutputStream fo = null;
try{
String path=request.getParameter("path");
int xmlid=Integer.parseInt(request.getParameter("id"));
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元ç´?br />List books = root.getChildren(); //得到根元素所有å­å…ƒç´ çš„集å?br />Element book=(Element)books.get(xmlid);
String bookname=request.getParameter("bookname");
String author=request.getParameter("author");
String price=request.getParameter("price");
String pub=request.getParameter("pub");
String pubdate=request.getParameter("pubdate");
Text newtext;
Element newname= book.getChild("书å");
newname.setText(bookname);//修改书å为新的书å?br />Element newauthor= book.getChild("作è€?);
newauthor.setText(author);
Element newpub= book.getChild("出版½C?);
newpub.setText(pub);
Element newprice= book.getChild("ä»äh ¼");
newprice.setText(price);
Element newdate= book.getChild("出版日期");
newdate.setText(pubdate);
//books.set(xmlid,book);//修改å­å…ƒç´?br />String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK");
fo=new FileOutputStream(path);
outp.output(doc,fo);
}
catch(Exception e){
System.err.println(e+"error");
}
finally{
try{
fi.close();
fo.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
}

䏋颿˜¯æ“作的jspæ–‡äšg:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.util.*,xml.*"%>
<html>
<head>
<title>è¯Õd–XMLæ–‡äšg资料</title>
</head>
<body>
<h3 align="center">JDOMæ“作XMLæ–‡äšg</h3>
<p align="center">è¯Õd–XMLæ–‡äšg中的所有资æ–?lt;/p>
<center>
<table border="1" cellpadding="0" cellspacing="1" style="border-collapse: collapse" width="80%" id="AutoNumber1">
<tr>
<td align="center" width="92">书å</td>
<td align="center" width="92">作�lt;/td>
<td align="center" width="92">出版½C?lt;/td>
<td align="center" width="92">ä»äh ¼</td>
<td align="center" width="92">出版日期</td>
<td align="center" width="94">æ“作</td>
</tr>
</table>
<%
String path = application.getRealPath("/test/xml/")+"testC.xml";
XmlBean xml=new XmlBean();
Vector xmlall=xml.LoadXML(path);
for(int i=0;i<xmlall.size();i++){
xml=(XmlBean)xmlall.elementAt(i );
/**out.println("书å:"+xml.getbookname()+"<br>");
out.println("作�"+xml.getauthor()+"<br>");
out.println("出版½C?"+xml.getpub()+"<br>");
out.println("ä»äh ¼:"+xml.getprice()+"<br>");
out.println("出版日期:"+xml.getpubdate()+"<br><br>");
*/
%>
<table border="1" cellpadding="0" cellspacing="1" style="border-collapse: collapse" width="80%" id="AutoNumber2">
<tr>
<td align="center" width="92"><%=xml.getbookname()%></td>
<td align="center" width="92"><%=xml.getauthor()%></td>
<td align="center" width="92"><%=xml.getpub()%></td>
<td align="center" width="92"><%=xml.getprice()%></td>
<td align="center" width="92"><%=xml.getpubdate()%></td>
<td align="center" width="94"><a href="xmlok.jsp?act=del&id=<%=i%>&path=<%=path%>">删除</a></td>
</tr>
</table>
<%}%>
</center>
<form method="POST" action="xmlok.jsp">
<p align="center">
<input type="radio" value="add" checked name="act">æ·ÕdŠ èµ„æ–™Â <input type="radio" value="edit" name="act">¾~–辑资料
åºÂ å·:<select size="1" name="id">
<%for(int i=0;i<xmlall.size();i++){%>
<option value="<%=i%>">½W?lt;%=i+1%>æ?lt;/option>
<%}%>
</select><br>
书 å:<input type="text" name="bookname" size="20"><br>
作 �<input type="text" name="author" size="20"><br>
出版½C?<input type="text" name="pub" size="20"><br>
价 格:<input type="text" name="price" size="20"><br>
日 期:<input type="text" name="pubdate" size="20"></p>
<input type="hidden" name="path" value="<%=path%>">
<p align="center"><input type="submit" value="æäº¤" name="B1"><input type="reset" value="é‡ç½®" name="B2"></p>
</form>
</body>
</html>

䏋颿˜¯å¤„ç†ä¸Šä¸€æ–‡äšgæäº¤çš„jspæ–‡äšg:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="xml.*"%>
<%if(request.getParameter("act")!=null && request.getParameter("act").equals("add")){
XmlBean.AddXML(request);
out.println("<p align='center'><br><br>æ·ÕdŠ æˆåŠŸ<br><br><a href=''>˜q”回</a>");
}
else if(request.getParameter("act")!=null && request.getParameter("act").equals("del")){
XmlBean.DelXML(request);
out.println("<p align='center'><br><br>删除æˆåŠŸ<br><br><a href=''>˜q”回</a>");
}
else if(request.getParameter("act")!=null && request.getParameter("act").equals("edit")){
XmlBean.EditXML(request);
out.println("<p align='center'><br><br>修改æˆåŠŸ<br><br><a href=''>˜q”回</a>");
}
else{out.print("<p align='center'><br><br>éžæ³•æ“作<br><br><a href=''>˜q”回</a>");}

vso 2006-11-10 16:48 å‘表评论
]]>
JDOMçš„ä‹Éç”?/title><link>http://www.aygfsteel.com/vso/articles/80433.html</link><dc:creator>vso</dc:creator><author>vso</author><pubDate>Fri, 10 Nov 2006 08:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/vso/articles/80433.html</guid><wfw:comment>http://www.aygfsteel.com/vso/comments/80433.html</wfw:comment><comments>http://www.aygfsteel.com/vso/articles/80433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/vso/comments/commentRss/80433.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/vso/services/trackbacks/80433.html</trackback:ping><description><![CDATA[ 一ã€JDOM½Ž€ä»?br />JDOM是一个开æºé¡¹ç›®ï¼Œå®ƒåŸºäºŽæ ‘型结构,利用¾U¯JAVA的技术对XML文档实现解æžã€ç”Ÿæˆã€åºåˆ—化以åŠå¤šç§æ“作ã€?br />JDOM直接为JAVA¾~–程æœåŠ¡ã€‚å®ƒåˆ©ç”¨æ›´äØ“å¼ºæœ‰åŠ›çš„JAVA语言的诸多特性(æ–ÒŽ³•é‡è²ã€é›†åˆæ¦‚å¿µä»¥åŠæ˜ ž®„)åQŒæŠŠSAXå’ŒDOM的功能有效地¾l“åˆèµäh¥ã€?br />在ä‹É用设计上ž®½å¯èƒ½åœ°éšè—原æ¥ä½¿ç”¨XML˜q‡ç¨‹ä¸­çš„夿‚性。利用JDOM处ç†XML文档ž®†æ˜¯ä¸€ä»¶è½»æ¾ã€ç®€å•的事ã€?br />JDOMåœ?000òq´çš„æ˜¥å¤©è¢«BrettMcLaughlinå’ŒJasonHunterå¼€å‘出æ¥ï¼Œä»¥å×Iè¡¥DOMåŠSAX在实际应用当中的ä¸èƒö之处ã€?br />˜q™äº›ä¸èƒö之处主è¦åœ¨äºŽSAX没有文档修改ã€éšæœø™®¿é—®ä»¥åŠè¾“出的功能åQŒè€Œå¯¹äºŽDOMæ¥è¯´åQŒJAVA½E‹åºå‘˜åœ¨ä½¿ç”¨æ—¶æ¥ç”¨è“væ¥æ€»è§‰å¾—ä¸å¤ªæ–¹ä¾Ñ€?br />DOMçš„ç¼ºç‚¹ä¸»è¦æ˜¯æ¥è‡ªäºŽç”±äºŽDom是一个接å£å®šä¹‰è¯­­a€åQˆIDLåQ?它的ä»ÕdŠ¡æ˜¯åœ¨ä¸åŒè¯­è¨€å®žçŽ°ä¸­çš„ä¸€ä¸ªæœ€ä½Žçš„é€šç”¨æ ‡å‡†åQŒåÆˆä¸æ˜¯ä¸ºJAVA特别设计的。JDOMçš„æœ€æ–°ç‰ˆæœ¬äØ“JDOMBeta9。最˜q‘JDOM被收录到JSR-102内,˜q™æ ‡å¿—ç€JDOMæˆäؓ了JAVAòq›_°¾l„æˆçš„一部分ã€?br />二ã€JDOM包概è§?br />JDOM是由以下几个包组æˆçš„<br />org.jdom               包å«äº†æ‰€æœ‰çš„xml文档è¦ç´ çš„java¾c?br /> <br />org.jdom.adapters        包å«äº†ä¸Ždom适é…çš„java¾c?br /> <br />org.jdom.filter           包å«äº†xml文档的过滤器¾c?br /> <br />org.jdom.input           包å«äº†è¯»å–xml文档的类<br /> <br />org.jdom.output          包å«äº†å†™å…¥xml文档的类<br /> <br />org.jdom.transform       包å«äº†å°†jdomxml文档接å£è½¬æ¢ä¸ºå…¶ä»–xml文档接å£<br /> <br />org.jdom.xpath           包å«äº†å¯¹xml文档xpathæ“作的类<br />三ã€JDOM¾c»è¯´æ˜?br />1ã€org.JDOM˜q™ä¸ªåŒ…里的类是你Jè§£æžxmlæ–‡äšgåŽæ‰€è¦ç”¨åˆ°çš„æ‰€æœ‰æ•°æ®ç±»åž‹ã€?br />Attribute<br />CDATA<br />Coment<br />DocType<br />Document<br />Element<br />EntityRef<br />Namespace<br />ProscessingInstruction<br />Text<br />2ã€org.JDOM.transform在涉åŠxsltæ ¼å¼è½¬æ¢æ—¶åº”使用下é¢çš?个类<br />JDOMSource<br />JDOMResult<br />org.JDOM.input<br />3ã€è¾“入类åQŒä¸€èˆ¬ç”¨äºŽæ–‡æ¡£çš„创å¾å·¥ä½œ<br />SAXBuilder<br />DOMBuilder<br />ResultSetBuilder<br />4ã€org.JDOM.output输出¾c»ï¼Œç”¨äºŽæ–‡æ¡£è½¬æ¢è¾“出<br />XMLOutputter<br />SAXOutputter<br />DomOutputter<br />JTreeOutputter<br />ä½¿ç”¨å‰æ³¨æ„事™å¹ï¼š<br />1.JDOM对于JAXP以åŠTRax的支æŒ?br />JDOM支æŒJAXP1.1åQšä½ å¯ä»¥åœ¨ç¨‹åºä¸­ä½¿ç”¨ä»ÖM½•çš„parser工具¾c?默认情况下是JAXPçš„parserã€?br />制定特别的parserå¯ç”¨å¦‚下形å¼<br />SAXBuilder parser<br /> =new SAXBuilder("org.apache.crimson.parser.XMLReaderImpl");<br /> Document doc=parser.build("http://www.cafeconleche.org/");<br /> //work with the document...<br />JDOM也支æŒTRaXåQšXSLTå¯é€šè¿‡JDOMSource以åŠJDOMResult¾cÀL¥è½¬æ¢åQˆå‚è§ä»¥åŽç« èŠ‚ï¼‰<br />2.注æ„在JDOM里文档(DocumentåQ‰ç±»ç”±org.JDOM.Documentæ¥è¡¨½Cºã€‚è¿™è¦ä¸Žorg.w3c.dom中的Document区别开åQŒè¿™2¿Uæ ¼å¼å¦‚何è{æ¢åœ¨åŽé¢ä¼šè¯´æ˜Žã€?br />以下如无ç‰ÒŽŒ‡å‡æŒ‡JDOM里的Documentã€?br />å››ã€JDOM主è¦ä½¿ç”¨æ–ÒŽ³•<br />1.Ducument¾c?br />(1)Documentçš„æ“作方法:<br />Element root=new Element("GREETING");<br />Document doc=new Document(root);<br />root.setText("Hello JDOM!");<br />或者简å•的使用Document doc=new Document(new Element("GREETING").setText("HelloJDOM!t"));<br />˜q™ç‚¹å’ŒDOMä¸åŒã€‚Domåˆ™éœ€è¦æ›´ä¸ºå¤æ‚的代ç åQŒå¦‚下:<br />DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();<br />DocumentBuilder builder=factory.newDocumentBuilder();<br />Document doc=builder.newDocument();<br />Element root=doc.createElement("root");<br />Text text=doc.createText("This is the root");<br />root.appendChild(text);<br />doc.appendChild(root);<br />注æ„事项åQšJDOMä¸å…许åŒä¸€ä¸ªèŠ‚ç‚¹åŒæ—¶è¢«2个或多个文档相关è”,è¦åœ¨½W?个文档中使用原æ¥è€æ–‡æ¡£ä¸­çš„节点的è¯ã€‚首先需è¦ä‹É用detach()把这个节点分开æ¥ã€?br />(2)ä»Žæ–‡ä»¶ã€æµã€ç³»¾lŸIDã€URL得到Document对象åQ?br />DOMBuilder builder=new DOMBuilder();<br />Document doc=builder.build(new File("jdom_test.xml"));<br />SAXBuilder builder=new SAXBuilder();<br />Document doc=builder.build(url);<br />在新版本中DOMBuilderå·²ç»Deprecated掉DOMBuilder.builder(url)åQŒç”¨SAX效率会比较快ã€?br />˜q™é‡Œä¸¾ä¸€ä¸ªå°ä¾‹å­åQŒäؓ了简å•è“vè§ï¼Œä½¿ç”¨Stringå¯¹è±¡ç›´æŽ¥ä½œäØ“xmlæ•°æ®æºï¼š<br /> Public jdomTest(){<br />   String textXml=null;<br />   textXml="<note>";<br />   textXml=textXml+<br />       "<to>aaa</to><from>bbb</from><heading>ccc</heading><body>ddd</body>";<br />   textXml=textXml+"</note>";<br />   SAXBuilderbuilder=newSAXBuilder();<br />   Document doc=null;<br />   Reader in=new StringReader(textXml);<br />   try{<br />     doc=builder.build(in);<br />     Element root=doc.getRootElement();<br />     List ls=root.getChildren();//æ³¨æ„æ­¤å¤„å–出的是root节点下é¢çš„一层的Element集åˆ<br />     for(Iterator iter=ls.iterator();iter.hasNext();){<br />       Element el=(Element)iter.next();<br />       if(el.getName().equals("to")){<br />        System.out.println(el.getText());<br />       }<br />     }<br />   }<br />   catch(IOException ex){<br />     ex.printStackTrace();<br />   }<br />   catch(JDOMException ex){<br />     ex.printStackTrace();<br />   }<br /> }<br />(3)DOMçš„documentå’ŒJDOMçš„Document之间的相互è{æ¢ä‹É用方法,½Ž€å•ï¼<br />DOMBuilder builder=new DOMBuilder();<br />org.jdom.Document jdomDocument=builder.build(domDocument);<br />DOMOutputter converter=new DOMOutputter();//workwiththeJDOMdocumentâ€?br />org.w3c.dom.Document domDocument=converter.output(jdomDocument);<br />//workwiththeDOMdocumentâ€?br />2.XML文档输出<br />XMLOutPutter¾c»ï¼š<br />JDOM的输出éžå¸¸çµ‹z?支æŒå¾ˆå¤š¿Uioæ ¼å¼ä»¥åŠé£Žæ ¼çš„输å‡?br />Document doc=newDocument(...);<br />XMLOutputter outp=new XMLOutputter();<br />outp.output(doc,fileOutputStream);//Rawoutput<br />outp.setTextTrim(true);//Compressed output<br />outp.output(doc,socket.getOutputStream());<br />outp.setIndent("");//Pretty output<br />outp.setNewlines(true);<br />outp.output(doc,System.out);<br />详细请å‚阅最新的JDOMAPI手册<br />3.Element¾c»ï¼š<br />(1)‹¹è§ˆElementæ ?br />Element root=doc.getRootElement();//获得根元素element<br />List allChildren=root.getChildren();//获得所有å­å…ƒç´ çš„一个list<br />List namedChildren=root.getChildren("name");//获得指定åç§°å­å…ƒç´ çš„list<br />Element child=root.getChild("name");//获得指定å称的第一个å­å…ƒç´ <br />JDOM¾l™äº†æˆ‘们很多很絋zÈš„使用æ–ÒŽ³•æ¥ç®¡ç†å­å…ƒç´ åQˆè¿™é‡Œçš„List是java.util.ListåQ?br />List allChildren=root.getChildren();<br />allChildren.remove(3);//删除½W¬å››ä¸ªå­å…ƒç´ <br />allChildren.removeAll(root.getChildren("jack"));//删除å«â€œjackâ€çš„å­å…ƒç´?br />root.removeChildren("jack");//便æ·å†™æ³•<br />allChildren.add(newElement("jane"));//加入<br />root.addContent(newElement("jane"));//便æ·å†™æ³•<br />allChildren.add(0,newElement("first"));<br />(2)¿UÕdЍElements:<br />在JDOM里很½Ž€å?br />Element movable=new Element("movable");<br />parent1.addContent(movable);//place<br />parent1.removeContent(movable);//remove<br />parent2.addContent(movable);//add<br />在Domé‡?br />Element movable=doc1.createElement("movable");<br />parent1.appendChild(movable);//place<br />parent1.removeChild(movable);//remove<br />parent2.appendChild(movable);//出错!<br />补充åQšçº é”™æ€?br />JDOMçš„Element构造函敎ͼˆä»¥åŠå®ƒçš„其他函数åQ‰ä¼š‹‚€æŸ¥element是å¦åˆæ³•ã€?br />而它的add/removeæ–ÒŽ³•会检查树¾l“æž„åQŒæ£€æŸ¥å†…容如下:<br />1.在ä“Qä½•æ ‘ä¸­æ˜¯å¦æœ‰å›žçŽ¯èŠ‚ç‚¹<br />2.是å¦åªæœ‰ä¸€ä¸ªæ ¹èŠ‚ç‚¹<br />3.æ˜¯å¦æœ‰ä¸€è‡´çš„命å½Iºé—´åQˆNamespacesåQ?br />(3)Elementçš„text内容è¯Õd–<br /><description><br />A cool demo<br /></description><br />//The text is directly available<br />//Returns"\n A cool demo\n"<br />String desc=element.getText();<br />//There's a convenient short cut<br />//Returns "A cool demo"<br />String desc=element.getTextTrim();<br />(4)Elment内容修改<br />element.setText("Anewdescription");<br />3.坿­£¼‹®è§£é‡Šç‰¹ŒDŠå­—½W?br />element.setText("<xml>content");<br />4.CDATA的数æ®å†™å…¥ã€è¯»å‡?br />element.addContent(newCDATA("<xml>content"));<br />String noDifference=element.getText();<br />æ··åˆå†…容<br />elementå¯èƒ½åŒ…å«å¾ˆå¤š¿U内容,比如è¯?br /><table><br /><!?Some comment--><br />Some text<br /><tr>Some child element</tr><br /></table><br />å–tableçš„å­å…ƒç´ tr<br />String text=table.getTextTrim();<br />Element tr=table.getChild("tr");<br />也å¯ä½¿ç”¨å¦å¤–一个比较简å•çš„æ–ÒŽ³•<br />List mixedCo=table.getContent();<br />Iterator itr=mixedCo.iterator();<br />while(itr.hasNext()){<br />Objecto=i.next();<br />if(o instanceof Comment){...}<br />//˜q™é‡Œå¯ä»¥å†™æˆComment,Element,Text,CDATA,ProcessingInstruction,或者是EntityRef的类åž?br />}<br />//现在¿U»é™¤Comment,注愘q™é‡Œæ¸¸æ ‡åº”䨓1ã€‚è¿™æ˜¯ç”±äºŽå›žè½¦é”®ä¹Ÿè¢«è§£æžæˆText¾cÈš„¾~˜æ•…,所以Comment™å¹åº”ä¸?ã€?br />mixedCo.remove(1);<br />4.Attribute¾c?br /><table width="100%" border="0"></table><br />String width=table.getAttributeValue("width");//获得attribute<br />Int border=table.getAttribute("border").getIntValue();<br />table.setAttribute("vspace","0");//讄¡½®attribute<br />table.removeAttribute("vspace");//删除一个或全部attribute<br />table.getAttributes().clear();<br />5.å¤„ç†æŒ‡ä×o(ProcessingInstructions)æ“作<br />一个Pls的例å­?br /><?br?><br /><?cocoon-processtype="xslt"?><br />         |       |<br />         |       |<br />       目标    数æ®<br />处ç†ç›®æ ‡åç§°(Target)<br />String target=pi.getTarget();<br />获得所有数æ®ï¼ˆdataåQ‰ï¼Œåœ¨ç›®æ ‡ï¼ˆtargetåQ‰ä»¥åŽçš„æ‰€æœ‰æ•°æ®éƒ½ä¼šè¢«˜q”回ã€?br />String data=pi.getData();<br />String type=pi.getValue("type");获得指定属性的数æ®<br />List ls=pi.getNames();获得所有属性的åç§°<br />6.命å½Iºé—´æ“作<br /><xhtml:html<br /> xmlns:xhtml="http://www.w3.org/1999/xhtml"><br /><xhtml:title>HomePage</xhtml:title><br /></xhtml:html><br />Namespace xhtml=Namespace.getNamespace("xhtml","http://www.w3.org/1999/xhtml");<br />List kids=html.getChildren("title",xhtml);<br />Element kid=html.getChild("title",xhtml);<br />kid.addContent(newElement("table",xhtml));<br />7.XSLTæ ¼å¼è½¬æ¢<br />使用以下函数å¯å¯¹XSLT转æ¢<br />最åŽå¦‚果你需è¦ä‹É用w3cçš„Document则需è¦è{æ¢ä¸€ä¸‹ã€?br />Public static Document transform(String stylesheetåQŒDocument in)<br />                                       Throws JDOMException{<br />    try{<br />      Transformer transformer=TransformerFactory.newInstance()<br />                            .new Transformer(newstreamSource(stylesheet));<br />      JDOMResult out=new JDOMResult();<br />      transformer.transform(newJDOMSource(in),out);<br />      return out.getDocument();<br />    }<br />    catch(TransformerException e){<br />      throw newJDOMException("XSLT Trandformation failed",e);<br />    }<br />  }<br />五ã€ç”¨ä¾?<br />1ã€ç”Ÿæˆxml文档åQ?br /> <br /> <br />Public class WriteXML{<br />   Public void BuildXML() throws Exception{<br />       Element root,student,number,name,age;        <br />       root=new Element("student-info");//ç”Ÿæˆæ ¹å…ƒç´ ï¼šstudent-info<br />       student=new Element("student");//生æˆå…ƒç´ åQšstudent(number,name,age)                            <br />       number=new Element("number");<br />       name=new Element("name");<br />       age=new Element("age");<br />       Document doc=new Document(root);//ž®†æ ¹å…ƒç´ æ¤å…¥æ–‡æ¡£docä¸?br />       number.setText("001");<br />       name.setText("lnman");<br />       age.setText("24");<br />       student.addContent(number);<br />       student.addContent(name);<br />       student.addContent(age);<br />       root.addContent(student);<br />       Format format=Format.getCompactFormat();<br />       format.setEncoding("gb2312");//讄¡½®xmlæ–‡äšg的字½W¦äØ“gb2312<br />       format.setIndent("   ");//讄¡½®xmlæ–‡äšg的羃˜q›äØ“4个空æ ?br />       XMLOutputterXML Out=new XMLOutputter(format);//å…ƒç´ åŽæ¢è¡Œä¸€å±‚元素羃四格<br />       XMLOut.output(doc,new FileOutputStream("studentinfo.xml")); <br />}<br />   Public static void main(String[] args) throws Exception{<br />       WriteXML w=new WriteXML();<br />       System.out.println("NowwebuildanXMLdocument.....");<br />       w.BuildXML();<br />       System.out.println("finished!");<br />}<br />}<br />生æˆçš„xml文档为:<br /><?xmlversion="1.0"encoding="gb2312"?><br /><student-info><br />   <student><br />       <number>001</number><br />       <name>lnman</name><br />       <age>24</age><br />   </student><br /></student-info><br /> <br /> <br />创å¾XML文档2åQ?br /> Public class CreateXML{<br /> Public void Create(){<br />  try{<br />   Document doc=new Document();  <br />   ProcessingInstruction pi=new ProcessingInstruction("xml-stylesheet","type="text/xsl"href="test.xsl"");<br />   doc.addContent(pi);   <br />   Namespace ns=Namespace.getNamespace("http://www.bromon.org");<br />   Namespace ns2=Namespace.getNamespace("other","http://www.w3c.org");<br />   Element root=new Element("根元ç´?,ns);<br />   root.addNamespaceDeclaration(ns2);<br />   doc.setRootElement(root);<br />   Elemente l1=new Element("元素一");<br />   el1.setAttribute("属æ€?,"属性一");   <br />   Text text1=new Text("元素å€?);<br />            Element em=new Element("元素äº?).addContent("½W¬äºŒä¸ªå…ƒç´?);<br />   el1.addContent(text1);<br />            el1.addContent(em);            <br />            Elementel2=newElement("元素ä¸?).addContent("½W¬ä¸‰ä¸ªå…ƒç´?);<br />            root.addContent(el1);<br />            root.addContent(el2);            <br />            //¾~©è¿›å››ä¸ª½Iºæ ¼,自动æ¢è¡Œ,gb2312¾~–ç <br />            XMLOutputter outputter=new XMLOutputter(" ",true,"GB2312");<br />            outputter.output(doc,newFileWriter("test.xml"));<br />        }catch(Exceptione) {<br />         System.out.println(e);<br />        }<br />    }    <br />    Public static void main(String args[]){<br />     New CreateXML().Create();<br />    }    <br /> }<br />2ã€è¯»å–xml文档的例å­ï¼š<br />importorg.jdom.output.*;<br />importorg.jdom.input.*;<br />importorg.jdom.*;<br />importjava.io.*;<br />importjava.util.*;<br />public class ReadXML{<br />   public static void main(String[] args) throws Exception{<br />       SAXBuilder builder=new SAXBuilder();<br />       Document read_doc=builder.build("studentinfo.xml");<br />       Element stu=read_doc.getRootElement();<br />       List list=stu.getChildren("student");<br />       for(int i=0;i<list.size();i++){<br />           Element e=(Element)list.get(i);<br />           String str_number=e.getChildText("number");<br />           String str_name=e.getChildText("name");<br />           String str_age=e.getChildText("age");<br />           System.out.println("---------STUDENT--------------");<br />           System.out.println("NUMBER:"+str_number);<br />           System.out.println("NAME:"+str_name);<br />           System.out.println("AGE:"+str_age);<br />           System.out.println("------------------------------");<br />           System.out.println();<br />       } <br />      }<br />}<br />3ã€DTD验è¯çš„:<br /> Public class XMLWithDTD{<br /> Public void validate() {<br />  try{<br />   SAXBuilder builder=new SAXBuilder(true);<br />   builder.setFeature("http://xml.org/sax/features/validation";,true);<br />   Document doc=builder.build(newFileReader("author.xml"));   <br />   System.out.println("æžæŽ‚");<br />   XMLOutputter outputter=new XMLOutputter();<br />   outputter.output(doc,System.out);<br />  }catch(Exceptione){<br />   System.out.println(e);<br />  }  <br /> }<br /> Public static void main(String args[]){<br />  new XMLWithDTD().validate();<br /> } <br /> }<br /> 需è¦è¯´æ˜Žçš„æ˜¯ï¼Œ˜q™ä¸ª½E‹åºæ²¡æœ‰æŒ‡æ˜Žä½¿ç”¨å“ªä¸ªDTDæ–‡äšg。DTDæ–‡äšg的佾|®æ˜¯åœ¨XML中指定的åQŒè€Œä¸”DTD䏿”¯æŒå‘½å空é—ß_¼Œä¸€ä¸ªXMLåªèƒ½å¼•用一个DTDåQŒæ‰€ä»¥ç¨‹åºç›´æŽ¥è¯»å–XML中指定的DTDåQŒç¨‹åºæœ¬íw«ä¸ç”¨æŒ‡å®šã€‚丘q‡è¿™æ ·ä¸€æ¥ï¼Œå¥½è±¡ž®±åªèƒ½ä‹É用外部å¼çš„DTD引用方å¼äº†ï¼Ÿé«˜äh指点ã€?br /> <br /> <br />4ã€XMLSchema验è¯çš„:<br /> Public classXMLWithSchema{<br /> String xml="test.xml";<br /> String schema="test-schema.xml";<br /> Public void validate(){<br />  try{<br />   SAXBuilder builder=new SAXBuilder(true);<br />   //指定¾U¦æŸæ–¹å¼ä¸ºXMLschema<br />   builder.setFeature("http://apache.org/xml/features/validation/schema";, true);<br />   //导入schemaæ–‡äšg<br />builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema);<br />   Document doc=builder.build(new FileReader(xml));   <br />   System.out.println("æžæŽ‚");<br />   XMLOutputter outputter=new XMLOutputter();<br />   outputter.output(doc,System.out);<br />  }catch(Exceptione){<br />   System.out.println("验è¯å¤ÞpÓ|:"+e);<br />  } <br /> }<br /> }<br /> 上é¢çš„程åºå°±æŒ‡å‡ºäº†è¦å¼•入的XMLSchemaæ–‡äšg的佾|®ã€?br /> <br /> <br /> ¾pÈ»Ÿé»˜è®¤è¾“出是UTF-8åQŒè¿™æœ‰å¯èƒ½å¯¼è‡´å‡ºçŽîCØ•ç ã€?br />5ã€Xpath例å­åQ?br />JDOM的关于XPATHçš„api在org.jdom.xpath˜q™ä¸ªåŒ…里。这个包下,有一个抽象类XPath.java和实现类JaxenXPath.javaåQŒä‹É用时先用XPath¾cÈš„陿€æ–¹æ³•newInstance(Stringxpath)得到XPath对象åQŒç„¶åŽè°ƒç”¨å®ƒçš„selectNodes(Objectcontext)æ–ÒŽ³•或selectSingleNode(Objectcontext)æ–ÒŽ³•åQŒå‰è€…æ ¹æ®xpath语奘q”回一¾l„节ç‚?List对象)åQ›åŽè€…æ ¹æ®ä¸€ä¸ªxpath语奘q”回½W¦åˆæ¡äšg的第一个节ç‚?Object¾cÕdž‹)。请看jdom-1.0自带的范例程åºï¼š<br />    它分æžåœ¨web.xmlæ–‡äšg中的注册的servlet的个数åŠå‚数个数åQŒåƈ输出角色åã€?br />web.xmlæ–‡äšgåQ?br /><?xmlversion="1.0"encoding="ISO-8859-1"?><br /><!--<br /><!DOCTYPEweb-app<br />   PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.2//EN"<br />   "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"><br />--><br /><web-app><br />   <servlet><br />       <servlet-name>snoop</servlet-name><br />       <servlet-class>SnoopServlet</servlet-class><br />   </servlet><br />   <servlet><br />       <servlet-name>file</servlet-name><br />       <servlet-class>ViewFile</servlet-class><br />       <init-param><br />           <param-name>initial</param-name><br />           <param-value>1000</param-value><br />           <description>Theinitialvalueforthecounter <!--optional--></description><br />       </init-param><br />   </servlet><br />   <servlet-mapping><br />       <servlet-name>mv</servlet-name><br />       <url-pattern>*.wm</url-pattern><br />   </servlet-mapping><br />   <distributed/><br />   <security-role><br />     <role-name>manager</role-name><br />     <role-name>director</role-name><br />     <role-name>president</role-name><br />   </security-role><br /></web-app><br />处熽E‹åºåQ?br />importjava.io.*;<br />importjava.util.*; <br />publicclassXPathReader{     <br />   publicstaticvoidmain(String[]args)throwsIOException,JDOMException{<br />       if(args.length!=1){<br />           System.err.println("Usage:javaXPathReaderweb.xml");<br />           return;<br />       }<br />       Stringfile name=args[0];//从命令行输入web.xml<br />       PrintStream out=System.out;<br />       SAXBuilder builder=new SAXBuilder();<br />       Document doc=builder.build(new File(filename));//得到Document对象<br /> <br /> <br />       //Printservletinformation<br />       XPath servletPath=XPath.newInstance("http://servlet");//,选择ä»ÀL„路径下servlet元素<br />       List servlets=servletPath.selectNodes(doc);//˜q”回所有的servlet元素ã€?br />       out.println("This WAR has"+servlets.size()+"registered servlets:");<br />       Iterator i=servlets.iterator();<br />       while(i.hasNext()){//输出servletä¿¡æ¯<br />           Element servlet=(Element)i.next();<br />           out.print("\t"+servlet.getChild("servlet-name")<br />                                   .getTextTrim()+<br />                     "for"+servlet.getChild("servlet-class")<br />                                      .getTextTrim());<br />           List initParams=servlet.getChildren("init-param");<br />           out.println("(it has"+initParams.size()+"initparams)"); <br />       }             <br />       //Printsecurityroleinformation<br />       XPath rolePath=XPath.newInstance("http://security-role/role-name/text()");<br />       List roleNames=rolePath.selectNodes(doc);//得到所有的角色å?br />       if(roleNames.size()==0){<br />           out.println("This WAR contains no roles");<br />       }else{<br />           out.println("This WAR contains"+roleNames.size()+"roles:");<br />           i=roleNames.iterator();<br />           while(i.hasNext()){//输出角色å?br />               out.println("\t"+((Text)i.next()).getTextTrim());<br />           }<br />       }<br />   }    <br />}<br /> <br /> <br />输出¾l“æžœ:<br />C:\java>java  XPathReaderweb.xml<br />ThisWARhas2registeredservlets:<br />       snoopforSnoopServlet(ithas0initparams)<br />       fileforViewFile(ithas1initparams)<br />ThisWARcontains3roles:<br />       manager<br />       director<br />       president<br /> <br /> <br />6ã€æ•°æ®è¾“å…¥è¦ç”¨åˆ°XML文档è¦é€šè¿‡org.jdom.input包,å过æ¥éœ€è¦org.jdom.output。如å‰é¢æ‰€è¯ß_¼Œå…Ïx˜¯çœ‹API文档ž®Þpƒ½å¤Ÿä‹É用ã€?br />我们的例å­è¯»å…¥XMLæ–‡äšgexampleA.xmlåQŒåР入䏀æ¡å¤„ç†æŒ‡ä»¤ï¼Œä¿®æ”¹½W¬ä¸€æœ¬ä¹¦çš„ä­h格和作者,òq¶æ·»åР䏀æ¡å±žæ€§ï¼Œç„¶åŽå†™å…¥æ–‡äšgexampleB.xmlåQ?br />//exampleA.xml<br /><?xmlversion="1.0"encoding="GBK"?><br /><bookList><br /><book><br /><name>Java¾~–程入门</name><br /><author>张三</author><br /><publishDate>2002-6-6</publishDate><br /><price>35.0</price><br /></book><br /><book><br /><name>XML在Java中的应用</name><br /><author>æŽå››</author><br /><publishDate>2002-9-16</publishDate><br /><price>92.0</price><br /></book><br /></bookList><br />//testJDOM.java<br />importorg.jdom.*;<br />importorg.jdom.output.*;<br />importorg.jdom.input.*;<br />importjava.io.*;<br />publicclassTestJDOM{<br />publicstaticvoidmain(Stringargs[])throwsException{<br />SAXBuildersb=newSAXBuilder();<br />//从文件构造一个DocumentåQŒå› ä¸ºXMLæ–‡äšg中已¾l指定了¾~–ç åQŒæ‰€ä»¥è¿™é‡Œä¸å¿…了<br />Documentdoc=sb.build(newFileInputStream("exampleA.xml"));<br />ProcessingInstructionpi=newProcessingInstruction//加入一æ¡å¤„ç†æŒ‡ä»?br />("xml-stylesheet","href=\"bookList.html.xsl\"type=\"text/xsl\"");<br />doc.addContent(pi);<br />Elementroot=doc.getRootElement();//得到根元ç´?br />java.util.Listbooks=root.getChildren();//得到根元素所有å­å…ƒç´ çš„集å?br />Elementbook=(Element)books.get(0);//得到½W¬ä¸€ä¸ªbook元素<br />//为第一本书æ·ÕdР䏀æ¡å±žæ€?br />Attributea=newAttribute("hot","true");<br />book.setAttribute(a);<br />Elementauthor=book.getChild("author");//得到指定的字元素<br />author.setText("王五");//ž®†ä½œè€…改为王äº?br />//或Textt=newText("王五");book.addContent(t);<br />Elementprice=book.getChild("price");//得到指定的字元素<br />//修改ä»äh ¼åQŒæ¯”较éƒé—ïLš„æ˜¯æˆ‘们必™å»è‡ªå·Þp{æ¢æ•°æ®ç±»åž‹ï¼Œè€Œè¿™æ­£æ˜¯JAXB的优åŠ?br />author.setText(Float.toString(50.0f));<br />Stringindent="";<br />booleannewLines=true;<br />XMLOutputteroutp=newXMLOutputter(indent,newLines,"GBK");<br />outp.output(doc,newFileOutputStream("exampleB.xml"));<br />}<br />};<br />执行¾l“æžœexampleB.xmlåQ?br /><?xmlversion="1.0"encoding="GBK"?><br /><bookList><br /><bookhot=â€trueâ€?gt;<br /><name>Java¾~–程入门</name><br /><author>50.0</author><br /><publishDate>2002-6-6</publishDate><br /><price>35.0</price><br /></book><br /><book><br /><name>XML在Java中的应用</name><br /><author>æŽå››</author><br /><publishDate>2002-9-16</publishDate><br /><price>92.0</price><br /></book><br /></bookList><br /><?xml-stylesheethref="bookList.html.xsl"type="text/xsl"?><br />在默认情况下åQŒJDOMçš„Element¾cÈš„getText()˜q™ç±»çš„æ–¹æ³•ä¸ä¼šè¿‡æ»¤ç©ºç™½å­—½W¦ï¼Œå¦‚果你需è¦è¿‡æ»¤ï¼Œç”¨setTextTrim().<br /><img src ="http://www.aygfsteel.com/vso/aggbug/80433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/vso/" target="_blank">vso</a> 2006-11-10 16:32 <a href="http://www.aygfsteel.com/vso/articles/80433.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">¾©É½ÏØ</a>| <a href="http://" target="_blank">½ðÐã</a>| <a href="http://" target="_blank">ͨÁÉÊÐ</a>| <a href="http://" target="_blank">±¦ÛæÇø</a>| <a href="http://" target="_blank">Íû³ÇÏØ</a>| <a href="http://" target="_blank">ËÄ´¨Ê¡</a>| <a href="http://" target="_blank">ÀÖ¶¼ÏØ</a>| <a href="http://" target="_blank">Á½µ±ÏØ</a>| <a href="http://" target="_blank">Òø´¨ÊÐ</a>| <a href="http://" target="_blank">ÑÓÊÙÏØ</a>| <a href="http://" target="_blank">ͨºÓÏØ</a>| <a href="http://" target="_blank">Ö¾µ¤ÏØ</a>| <a href="http://" target="_blank">¹ó¸ÛÊÐ</a>| <a href="http://" target="_blank">º£ÄþÊÐ</a>| <a href="http://" target="_blank">ÆÕ¶ý</a>| <a href="http://" target="_blank">½·áÊÐ</a>| <a href="http://" target="_blank">¹ã²ýÏØ</a>| <a href="http://" target="_blank">°àÂêÏØ</a>| <a href="http://" target="_blank">ÁÙÇåÊÐ</a>| <a href="http://" target="_blank">Öñ±±ÊÐ</a>| <a href="http://" target="_blank">С½ðÏØ</a>| <a href="http://" target="_blank">´ó·áÊÐ</a>| <a href="http://" target="_blank">Î÷³ëÏØ</a>| <a href="http://" target="_blank">¸§Ë³ÊÐ</a>| <a href="http://" target="_blank">Íû½­ÏØ</a>| <a href="http://" target="_blank">ÁéÉ½ÏØ</a>| <a href="http://" target="_blank">´óÐËÇø</a>| <a href="http://" target="_blank">»ÆÆÖÇø</a>| <a href="http://" target="_blank">ÆîÃÅÏØ</a>| <a href="http://" target="_blank">èµÉ½ÏØ</a>| <a href="http://" target="_blank">µÂ¸ñÏØ</a>| <a href="http://" target="_blank">ÐÂÆ½</a>| <a href="http://" target="_blank">ÉÛÑôÏØ</a>| <a href="http://" target="_blank">»Ý¶«ÏØ</a>| <a href="http://" target="_blank">ÃûÉ½ÏØ</a>| <a href="http://" target="_blank">¼ÎÓãÏØ</a>| <a href="http://" target="_blank">ºÊÔóÊÐ</a>| <a href="http://" target="_blank">¿âÂׯì</a>| <a href="http://" target="_blank">¾²º£ÏØ</a>| <a href="http://" target="_blank">ºÏ½­ÏØ</a>| <a href="http://" target="_blank">á·É½ÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>