﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;strong&gt;&lt;font style="font-size:25px;"&gt;vista&lt;/font&gt;&lt;/strong&gt;-随笔分类-web相关</title><link>http://www.blogjava.net/vista/category/15810.html</link><description>&lt;font style="font-size:18px;"&gt;回顾※展望&lt;font&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;潜心技术&amp;&amp;不再搁浅
&lt;a onClick="谢谢点击" href="http://blog.csdn.net/images/blog_csdn_net/Diego1983/hehe.jpg" target="_blank"&gt;&lt;img src="http://blog.csdn.net/images/blog_csdn_net/Diego1983/hehe.jpg"  height="40" border="0" /&gt;&lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 03:11:33 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 03:11:33 GMT</pubDate><ttl>60</ttl><item><title>vista精神之---dom4j入门(转贴)</title><link>http://www.blogjava.net/vista/archive/2006/12/09/86602.html</link><dc:creator>Vista</dc:creator><author>Vista</author><pubDate>Sat, 09 Dec 2006 14:41:00 GMT</pubDate><guid>http://www.blogjava.net/vista/archive/2006/12/09/86602.html</guid><wfw:comment>http://www.blogjava.net/vista/comments/86602.html</wfw:comment><comments>http://www.blogjava.net/vista/archive/2006/12/09/86602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vista/comments/commentRss/86602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vista/services/trackbacks/86602.html</trackback:ping><description><![CDATA[
		<h3>dom4j（Version 1.6.1）快速入门</h3>
		<p>Parsing XML</p>
		<p>或许你想要做的第一件事情就是解析一个某种类型的XML文档，用dom4j很容易做到。请看下面的示范代码：</p>
		<p>import java.net.URL;</p>
		<p>import org.dom4j.Document;<br />import org.dom4j.DocumentException;<br />import org.dom4j.io.SAXReader;</p>
		<p>public class Foo {</p>
		<p>public Document parse(URL url) throws DocumentException {<br />SAXReader reader = new SAXReader();<br />Document document = reader.read(url);<br />return document;<br />}<br />}</p>
		<div id="a000315more">
				<div id="more">
						<p>使用迭代器（Iterators）</p>
						<p>我们可以通过多种方法来操作XML文档，这些方法返回java里标准的迭代器（Iterators）。例如：</p>
						<p>public void bar(Document document) throws DocumentException {<br />Element root = document.getRootElement();<br />//迭代根元素下面的所有子元素<br />for ( Iterator i = root.elementIterator(); i.hasNext(); ) {<br />Element element = (Element) i.next();<br />//处理代码<br />}</p>
						<p>//迭代根元素下面名称为"foo"的子元素<br />for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) {<br />Element foo = (Element) i.next();<br />//处理代码<br />}</p>
						<p>// 迭代根元素的属性attributes）元素<br />for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {<br />Attribute attribute = (Attribute) i.next();<br />// do something<br />}<br />}</p>
						<p>强大的XPath导航</p>
						<p>在dom4j中XPath可以表示出在XML树状结构中的Document或者任意的节点（Node）（例如：Attribute，Element 或者 ProcessingInstruction等）。它可以使在文档中复杂的操作仅通过一行代码就可以完成。例如：</p>
						<p>public void bar(Document document) {<br />List list = document.selectNodes( "//foo/bar" );</p>
						<p>Node node = document.selectSingleNode( "//foo/bar/author" );</p>
						<p>String name = node.valueOf( "@name" );<br />}</p>
						<p>如果你想得到一个XHTML文档中的所有超文本链接（hypertext links）你可以使用下面的代码：</p>
						<p>public void findLinks(Document document) throws DocumentException {</p>
						<p>List list = document.selectNodes( "//a/@href" );</p>
						<p>for (Iterator iter = list.iterator(); iter.hasNext(); ) {<br />Attribute attribute = (Attribute) iter.next();<br />String url = attribute.getValue();<br />}<br />}</p>
						<p>如果你需要关于XPath语言的任何帮助，我们强烈推荐这个站点Zvon tutorial他会通过一个一个的例子引导你学习。</p>
						<p>快速遍历（Fast Looping）</p>
						<p>
								<br />如果你不得不遍历一个非常大的XML文档，然后才去执行，我们建议你使用快速遍历方法（fast looping method），它可以避免为每一个循环的节点创建一个迭代器对象,如下所示：</p>
						<p>public void treeWalk(Document document) {<br />treeWalk( document.getRootElement() );<br />}</p>
						<p>public void treeWalk(Element element) {<br />for ( int i = 0, size = element.nodeCount(); i &lt; size; i++ ) {<br />Node node = element.node(i);<br />if ( node instanceof Element ) {<br />treeWalk( (Element) node );<br />}<br />else {<br />// do something....<br />}<br />}<br />}</p>
						<p>生成一个新的XML文档对象</p>
						<p>在dom4j中你可能常常希望用程序生成一个XML文档对象，下面的程序为你进行了示范：</p>
						<p>import org.dom4j.Document;<br />import org.dom4j.DocumentHelper;<br />import org.dom4j.Element;</p>
						<p>public class Foo {</p>
						<p>public Document createDocument() {<br />Document document = DocumentHelper.createDocument();<br />Element root = document.addElement( "root" );</p>
						<p>Element author1 = root.addElement( "author" )<br />.addAttribute( "name", "James" )<br />.addAttribute( "location", "UK" )<br />.addText( "James Strachan" );<br /><br />Element author2 = root.addElement( "author" )<br />.addAttribute( "name", "Bob" )<br />.addAttribute( "location", "US" )<br />.addText( "Bob McWhirter" );</p>
						<p>return document;<br />}<br />}</p>
						<p>将一个文档对象写入文件中</p>
						<p>将一个文档对象写入Writer对象的一个简单快速的途径是通过write()方法。</p>
						<p>FileWriter out = new FileWriter( "foo.xml" );<br />document.write( out );</p>
						<p>如果你想改变输出文件的排版格式，比如你想要一个漂亮的格式或者是一个紧凑的格式，或者你想用Writer 对象或者OutputStream 对象来操作，那么你可以使用XMLWriter 类。</p>
						<p>import org.dom4j.Document;<br />import org.dom4j.io.OutputFormat;<br />import org.dom4j.io.XMLWriter;</p>
						<p>public class Foo {</p>
						<p>public void write(Document document) throws IOException {</p>
						<p>// 写入文件<br />XMLWriter writer = new XMLWriter(<br />new FileWriter( "output.xml" )<br />);<br />writer.write( document );<br />writer.close();</p>
						<p>
								<br />// 以一种优雅的格式写入System.out对象<br />OutputFormat format = OutputFormat.createPrettyPrint();<br />writer = new XMLWriter( System.out, format );<br />writer.write( document );</p>
						<p>// 以一种紧凑的格式写入System.out对象<br />format = OutputFormat.createCompactFormat();<br />writer = new XMLWriter( System.out, format );<br />writer.write( document );<br />}<br />}</p>
						<p>转化为字符串，或者从字符串转化</p>
						<p>如果你有一个文档（Document）对象或者任何一个节点（Node）对象的引用（reference），象属性（Attribute）或者元素（Element），你可以通过asXML()方法把它转化为一个默认的XML字符串：</p>
						<p>Document document = ...;<br />String text = document.asXML();</p>
						<p>如果你有一些XML内容的字符串表示，你可以通过DocumentHelper.parseText()方法将它重新转化为文档（Document）对象：</p>
						<p>String text = "<person><name>James</name></person>";<br />Document document = DocumentHelper.parseText(text);</p>
						<p>通过XSLT样式化文档（Document）</p>
						<p>
								<br />使用Sun公司提供的JAXP API将XSLT 应用到文档（Document）上是很简单的。它允许你使用任何的XSLT引擎（例如：Xalan或SAXON等）来开发。下面是一个使用JAXP创建一个转化器（transformer），然后将它应用到文档（Document）上的例子：</p>
						<p>import javax.xml.transform.Transformer;<br />import javax.xml.transform.TransformerFactory;</p>
						<p>import org.dom4j.Document;<br />import org.dom4j.io.DocumentResult;<br />import org.dom4j.io.DocumentSource;</p>
						<p>public class Foo {</p>
						<p>public Document styleDocument(<br />Document document, <br />String stylesheet<br />) throws Exception {</p>
						<p>// 使用 JAXP 加载转化器<br />TransformerFactory factory = TransformerFactory.newInstance();<br />Transformer transformer = factory.newTransformer( <br />new StreamSource( stylesheet ) <br />);</p>
						<p>// 现在来样式化一个文档（Document）<br />DocumentSource source = new DocumentSource( document );<br />DocumentResult result = new DocumentResult();<br />transformer.transform( source, result );</p>
						<p>// 返回经过样式化的文档（Document）<br />Document transformedDoc = result.getDocument();<br />return transformedDoc;<br />}<br />}</p>
						<p>
								<a href="http://dom4j.org/guide.html">原文地址</a>
								<br />
								<a href="http://prdownloads.sourceforge.net/dom4j/dom4j-1.6.1.zip?download">dom4j下载地址</a>
						</p>
				</div>
		</div>
<img src ="http://www.blogjava.net/vista/aggbug/86602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vista/" target="_blank">Vista</a> 2006-12-09 22:41 <a href="http://www.blogjava.net/vista/archive/2006/12/09/86602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转－JS正则表达式详解[来自javaeye]</title><link>http://www.blogjava.net/vista/archive/2006/11/10/80314.html</link><dc:creator>Vista</dc:creator><author>Vista</author><pubDate>Fri, 10 Nov 2006 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/vista/archive/2006/11/10/80314.html</guid><wfw:comment>http://www.blogjava.net/vista/comments/80314.html</wfw:comment><comments>http://www.blogjava.net/vista/archive/2006/11/10/80314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vista/comments/commentRss/80314.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vista/services/trackbacks/80314.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JS正则表达式详解[收藏]																																																																																																																																																															...&nbsp;&nbsp;<a href='http://www.blogjava.net/vista/archive/2006/11/10/80314.html'>阅读全文</a><img src ="http://www.blogjava.net/vista/aggbug/80314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vista/" target="_blank">Vista</a> 2006-11-10 09:58 <a href="http://www.blogjava.net/vista/archive/2006/11/10/80314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vista精神之 －－javascript篇</title><link>http://www.blogjava.net/vista/archive/2006/10/13/75050.html</link><dc:creator>Vista</dc:creator><author>Vista</author><pubDate>Fri, 13 Oct 2006 12:39:00 GMT</pubDate><guid>http://www.blogjava.net/vista/archive/2006/10/13/75050.html</guid><wfw:comment>http://www.blogjava.net/vista/comments/75050.html</wfw:comment><comments>http://www.blogjava.net/vista/archive/2006/10/13/75050.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/vista/comments/commentRss/75050.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vista/services/trackbacks/75050.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是一个小东东，有的时候用的着，呵呵。&lt;script language="javascript" &gt;    function leftToRight(aa,bb,cc){        var selected;        var b = false;        var bLength = bb.length;        for(var i=0; i &lt; aa.len...&nbsp;&nbsp;<a href='http://www.blogjava.net/vista/archive/2006/10/13/75050.html'>阅读全文</a><img src ="http://www.blogjava.net/vista/aggbug/75050.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vista/" target="_blank">Vista</a> 2006-10-13 20:39 <a href="http://www.blogjava.net/vista/archive/2006/10/13/75050.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>