﻿<?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-缘来如此-随笔分类-XML</title><link>http://www.blogjava.net/supperchen/category/30051.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 13 Mar 2008 13:26:55 GMT</lastBuildDate><pubDate>Thu, 13 Mar 2008 13:26:55 GMT</pubDate><ttl>60</ttl><item><title>js处理XML</title><link>http://www.blogjava.net/supperchen/archive/2008/03/08/184725.html</link><dc:creator>缘来如此</dc:creator><author>缘来如此</author><pubDate>Sat, 08 Mar 2008 10:56:00 GMT</pubDate><guid>http://www.blogjava.net/supperchen/archive/2008/03/08/184725.html</guid><wfw:comment>http://www.blogjava.net/supperchen/comments/184725.html</wfw:comment><comments>http://www.blogjava.net/supperchen/archive/2008/03/08/184725.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supperchen/comments/commentRss/184725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supperchen/services/trackbacks/184725.html</trackback:ping><description><![CDATA[
		<div id="blog_text" class="cnt">
				<p>var table = null;<br />
var tbname = null;<br />
var fields = null;<br />
var xmlobject = null;<br />
var fid = null;<br />
var fname = null;<br />
var xmlstring =
"&lt;data&gt;&lt;table&gt;&lt;tbname&gt;abc&lt;/tbname&gt;&lt;field&gt;&lt;fid&gt;fdfd&lt;fid&gt;&lt;fname&gt;dfddf&lt;/fname&gt;&lt;/field&gt;&lt;field&gt;&lt;fid&gt;fdfd&lt;fid&gt;&lt;fname&gt;dfddf&lt;/fname&gt;&lt;/field&gt;&lt;/table&gt;";</p>
				<p>xmlstring +=
"&lt;table&gt;&lt;tbname&gt;fgh&lt;/tbname&gt;&lt;field&gt;&lt;fid&gt;dfd&lt;fid&gt;&lt;fname&gt;fdf&lt;/fname&gt;&lt;/field&gt;&lt;/table&gt;";</p>
				<p>xmlstring    +="&lt;/data&gt;";<br />
try{<br />
      if (window.ActiveXObject)<br />
      {<br />
          xmlobject =new ActiveXObject("Microsoft.XMLDOM");<br />
          xmlobject.async="false";<br />
          xmlobject.loadXML(xmlstring);<br />
      }</p>
				<p>      // 用于 Mozilla, Firefox, Opera, 等浏览器的代码：<br />
      else<br />
      {<br />
         var parser=new DOMParser();<br />
         xmlobject =parser.parseFromString(xmlstring,"text/xml");<br />
      }<br />
}catch(e){alert("error");}<br /><br />
var tables = xmlobject.getElementsByTagName("table");<br />
for(var i=0;i&lt;tables.length;i++)<br />
{<br />
    table = tables.item(i);<br />
    tbname = table.getElementsByTagName("tbname")[0].firstChild.nodeValue;<br />
    <br />
    fields = table.getElementsByTagName("field");<br />
    for(var    j=0;j&lt;fields.length;j++)<br />
    {<br />
     sfield = fields.item(j);<br />
     fid= sfield.getElementsByTagName("fid")[0].firstChild.nodeValue;<br />
     fname = sfield.getElementsByTagName("fname")[0].firstChild.nodeValue;<br />
      }<br />
}</p>
		</div>
<img src ="http://www.blogjava.net/supperchen/aggbug/184725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supperchen/" target="_blank">缘来如此</a> 2008-03-08 18:56 <a href="http://www.blogjava.net/supperchen/archive/2008/03/08/184725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dom4j解析XML </title><link>http://www.blogjava.net/supperchen/archive/2007/11/02/157806.html</link><dc:creator>缘来如此</dc:creator><author>缘来如此</author><pubDate>Fri, 02 Nov 2007 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/supperchen/archive/2007/11/02/157806.html</guid><wfw:comment>http://www.blogjava.net/supperchen/comments/157806.html</wfw:comment><comments>http://www.blogjava.net/supperchen/archive/2007/11/02/157806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supperchen/comments/commentRss/157806.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supperchen/services/trackbacks/157806.html</trackback:ping><description><![CDATA[
		<font color="#000080" size="2">dom4j 是一种解析 XML 文档的开放源代码 XML 框架,与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持.DOM 解析器不支持使用 XPath 选择节点.</font>
		<p class="code_title">
				<font color="#000080" size="2">  该解析器可以从 http://dom4j.org/ 获取.<br /></font>java 代码 </p>
		<div class="code_title" twffan="done">
				<div class="code_title" twffan="done">java 代码</div>
				<div class="dp-highlighter" twffan="done">
						<div class="bar" twffan="done">
						</div>
						<ol class="dp-j">
								<li class="alt">
										<span twffan="done">
												<span class="keyword" twffan="done">package</span>
												<span twffan="done"> com.nikee.dom4j;       </span>
										</span>
								</li>
								<li class="">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> org.dom4j.Document;       </span>
								</li>
								<li class="alt">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> org.dom4j.DocumentHelper;       </span>
								</li>
								<li class="">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> org.dom4j.Element;       </span>
								</li>
								<li class="alt">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> org.dom4j.io.OutputFormat;       </span>
								</li>
								<li class="">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> org.dom4j.io.XMLWriter;       </span>
								</li>
								<li class="alt">
										<span class="keyword" twffan="done">import</span>
										<span twffan="done"> java.io.*;       </span>
								</li>
								<li class="">
										<span twffan="done">        </span>
								</li>
								<li class="alt">
										<span class="keyword" twffan="done">public</span>
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">class</span>
										<span twffan="done"> XmlDom4J{       </span>
								</li>
								<li class="">
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">public</span>
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">void</span>
										<span twffan="done"> generateDocument(){       </span>
								</li>
								<li class="alt">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API 工厂类     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">  Document document = DocumentHelper.createDocument();       </span>
								</li>
								<li class="alt">
										<span twffan="done">         </span>
								</li>
								<li class="">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//使用 addElement()方法创建根元素catalog , addElement()用于向 XML 文档中增加元素     </span>
										<span twffan="done">  </span>
								</li>
								<li class="alt">
										<span twffan="done">  Element catalogElement = document.addElement(</span>
										<span class="string" twffan="done">"catalog"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">         </span>
								</li>
								<li class="alt">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//在 catalog 元素中使用 addComment() 方法添加注释"An XML catalog"     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">  catalogElement.addComment(</span>
										<span class="string" twffan="done">"An XML Catalog"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">         </span>
								</li>
								<li class="">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//在 catalog 元素中使用 addProcessingInstruction() 方法增加一个处理指令     </span>
										<span twffan="done">  </span>
								</li>
								<li class="alt">
										<span twffan="done">  catalogElement.addProcessingInstruction(</span>
										<span class="string" twffan="done">"target"</span>
										<span twffan="done">,</span>
										<span class="string" twffan="done">"text"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">         </span>
								</li>
								<li class="alt">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//在 catalog 元素中使用 addElement() 方法增加 journal 元素     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">  Element journalElement = catalogElement.addElement(</span>
										<span class="string" twffan="done">"journal"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 属性     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">  journalElement.addAttribute(</span>
										<span class="string" twffan="done">"title"</span>
										<span twffan="done">, </span>
										<span class="string" twffan="done">"XML Zone"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  journalElement.addAttribute(</span>
										<span class="string" twffan="done">"publisher"</span>
										<span twffan="done">, </span>
										<span class="string" twffan="done">"IBM developerWorks"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">         </span>
								</li>
								<li class="alt">
										<span twffan="done">         </span>
								</li>
								<li class="">
										<span twffan="done">  Element articleElement=journalElement.addElement(</span>
										<span class="string" twffan="done">"article"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  articleElement.addAttribute(</span>
										<span class="string" twffan="done">"level"</span>
										<span twffan="done">, </span>
										<span class="string" twffan="done">"Intermediate"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">  articleElement.addAttribute(</span>
										<span class="string" twffan="done">"date"</span>
										<span twffan="done">, </span>
										<span class="string" twffan="done">"December-2001"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">         </span>
								</li>
								<li class="">
										<span twffan="done">  Element titleElement=articleElement.addElement(</span>
										<span class="string" twffan="done">"title"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  titleElement.setText(</span>
										<span class="string" twffan="done">"Java configuration with XML Schema"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">         </span>
								</li>
								<li class="alt">
										<span twffan="done">  Element authorElement=articleElement.addElement(</span>
										<span class="string" twffan="done">"author"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">  Element firstNameElement=authorElement.addElement(</span>
										<span class="string" twffan="done">"firstname"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  firstNameElement.setText(</span>
										<span class="string" twffan="done">"Marcello"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">  Element lastNameElement=authorElement.addElement(</span>
										<span class="string" twffan="done">"lastname"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">  lastNameElement.setText(</span>
										<span class="string" twffan="done">"Vitaletti"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">         </span>
								</li>
								<li class="alt">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//可以使用 addDocType() 方法添加文档类型说明     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">  </span>
										<span class="comment" twffan="done">//这样就向 XML 文档中增加文档类型说明：     </span>
										<span twffan="done">  </span>
								</li>
								<li class="alt">
										<span twffan="done">  document.addDocType(</span>
										<span class="string" twffan="done">"catalog"</span>
										<span twffan="done">,</span>
										<span class="string" twffan="done">"nikee"</span>
										<span twffan="done">,</span>
										<span class="string" twffan="done">"file://c:/Dtds/catalog.dtd"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">  </span>
										<span class="keyword" twffan="done">try</span>
										<span twffan="done">{       </span>
								</li>
								<li class="alt">
										<span twffan="done">   </span>
										<span class="comment" twffan="done">//XMLWriter output = new XMLWriter(new FileWriter( new File("D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml")));     </span>
										<span twffan="done">  </span>
								</li>
								<li class="">
										<span twffan="done">    FileOutputStream fos=</span>
										<span class="keyword" twffan="done">new</span>
										<span twffan="done"> FileOutputStream(</span>
										<span class="string" twffan="done">"D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml"</span>
										<span twffan="done">);       </span>
								</li>
								<li class="alt">
										<span twffan="done">       OutputFormat of=</span>
										<span class="keyword" twffan="done">new</span>
										<span twffan="done"> OutputFormat(</span>
										<span class="string" twffan="done">"    "</span>
										<span twffan="done">, </span>
										<span class="keyword" twffan="done">true</span>
										<span twffan="done">);       </span>
								</li>
								<li class="">
										<span twffan="done">       XMLWriter xw=</span>
										<span class="keyword" twffan="done">new</span>
										<span twffan="done"> XMLWriter(fos, of);       </span>
								</li>
								<li class="alt">
										<span twffan="done">       xw.write( document );       </span>
								</li>
								<li class="">
										<span twffan="done">       xw.close();       </span>
								</li>
								<li class="alt">
										<span twffan="done">  }       </span>
								</li>
								<li class="">
										<span twffan="done">  </span>
										<span class="keyword" twffan="done">catch</span>
										<span twffan="done">(IOException e)       </span>
								</li>
								<li class="alt">
										<span twffan="done">  {       </span>
								</li>
								<li class="">
										<span twffan="done">   System.out.println(e.getMessage());       </span>
								</li>
								<li class="alt">
										<span twffan="done">  }       </span>
								</li>
								<li class="">
										<span twffan="done"> }       </span>
								</li>
								<li class="alt">
										<span twffan="done">        </span>
								</li>
								<li class="">
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">public</span>
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">static</span>
										<span twffan="done"> </span>
										<span class="keyword" twffan="done">void</span>
										<span twffan="done"> main(String[] argv){       </span>
								</li>
								<li class="alt">
										<span twffan="done">  XmlDom4J dom4j=</span>
										<span class="keyword" twffan="done">new</span>
										<span twffan="done"> XmlDom4J();       </span>
								</li>
								<li class="">
										<span twffan="done">  dom4j.generateDocument();       </span>
								</li>
								<li class="alt">
										<span twffan="done"> }       </span>
								</li>
								<li class="">
										<span twffan="done">}       </span>
								</li>
						</ol>
				</div>
		</div>
		<p>
				<strong>
						<font color="#0000ff">xml 代码</font>
				</strong>
		</p>
		<div class="dp-highlighter" twffan="done">
				<div class="bar" twffan="done">
				</div>
				<ol class="dp-xml">
						<li class="alt">
								<span twffan="done">
										<span class="comments" twffan="done">&lt;!--sp--&gt;</span>
										<span twffan="done">xml </span>
										<span class="attribute" twffan="done">version</span>
										<span twffan="done">=</span>
										<span class="attribute-value" twffan="done">"1.0"</span>
										<span twffan="done"> </span>
										<span class="attribute" twffan="done">encoding</span>
										<span twffan="done">=</span>
										<span class="attribute-value" twffan="done">"UTF-8"</span>
										<span class="tag" twffan="done">?&gt;</span>
										<span twffan="done">      </span>
								</span>
						</li>
						<li class="">
								<span class="comments" twffan="done">&lt;!--CTYPE catalog PUBLIC "nikee" "file://c:/Dtds/catalog.dtd"&lt;/sp--&gt;</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done"> </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">catalog</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">    </span>
								<span class="comments" twffan="done">&lt;!--An XML Catalog--&gt;&lt;!--sp--&gt;</span>
								<span twffan="done">target text</span>
								<span class="tag" twffan="done">?&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">    </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">journal</span>
								<span twffan="done"> </span>
								<span class="attribute" twffan="done">title</span>
								<span twffan="done">=</span>
								<span class="attribute-value" twffan="done">"XML Zone"</span>
								<span twffan="done"> </span>
								<span class="attribute" twffan="done">publisher</span>
								<span twffan="done">=</span>
								<span class="attribute-value" twffan="done">"IBM developerWorks"</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done">     </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">article</span>
								<span twffan="done"> </span>
								<span class="attribute" twffan="done">level</span>
								<span twffan="done">=</span>
								<span class="attribute-value" twffan="done">"Intermediate"</span>
								<span twffan="done"> </span>
								<span class="attribute" twffan="done">date</span>
								<span twffan="done">=</span>
								<span class="attribute-value" twffan="done">"December-2001"</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">         </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">title</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">Java configuration with XML Schematitle</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done">         </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">author</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">             </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">firstname</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">Marcellofirstname</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done">             </span>
								<span class="tag" twffan="done">&lt;</span>
								<span class="tag-name" twffan="done">lastname</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">Vitalettilastname</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">         author</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done">     article</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="alt">
								<span twffan="done">    journal</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">      </span>
						</li>
						<li class="">
								<span twffan="done"> catalog</span>
								<span class="tag" twffan="done">&gt;</span>
								<span twffan="done">  </span>
						</li>
				</ol>
		</div>
		<p>
				<font color="#333399" size="2">
						<strong>XmlDom4J.java 用于创建 XML 文档 catalog.xml</strong>
				</font>
		</p>
		<div class="code_title" twffan="done">
				<div class="code_title" twffan="done">
						<span twffan="done">
								<span twffan="done">
										<span twffan="done">
												<span twffan="done">
														<span twffan="done">
																<span twffan="done">java 代码
<div class="code_title" twffan="done">java 代码</div><div class="dp-highlighter" twffan="done"><div class="bar" twffan="done"></div><ol class="dp-j"><li class="alt"><span twffan="done"><span class="keyword" twffan="done">package</span><span twffan="done"> com.nikee.dom4j;       </span></span></li><li class=""><span twffan="done">      </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.Document;       </span></li><li class=""><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.Element;       </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.Attribute;       </span></li><li class=""><span class="keyword" twffan="done">import</span><span twffan="done"> java.util.List;       </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> java.util.Iterator;       </span></li><li class=""><span twffan="done">      </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.io.OutputFormat;       </span></li><li class=""><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.io.XMLWriter;       </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> java.io.*;       </span></li><li class=""><span twffan="done">      </span></li><li class="alt"><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.DocumentException;       </span></li><li class=""><span class="keyword" twffan="done">import</span><span twffan="done"> org.dom4j.io.SAXReader;        </span></li><li class="alt"><span twffan="done">        </span></li><li class=""><span class="keyword" twffan="done">public</span><span twffan="done"> </span><span class="keyword" twffan="done">class</span><span twffan="done"> Dom4Jparser{       </span></li><li class="alt"><span twffan="done">    </span><span class="keyword" twffan="done">public</span><span twffan="done"> Dom4Jparser(){       </span></li><li class=""><span twffan="done">        </span><span class="comment" twffan="done">//construction     </span><span twffan="done">  </span></li><li class="alt"><span twffan="done">    }       </span></li><li class=""><span twffan="done">           </span></li><li class="alt"><span twffan="done">    </span><span class="keyword" twffan="done">public</span><span twffan="done"> </span><span class="keyword" twffan="done">void</span><span twffan="done"> modifyDocument(File inputXml){       </span></li><li class=""><span twffan="done">        </span><span class="keyword" twffan="done">try</span><span twffan="done">{       </span></li><li class="alt"><span twffan="done">            </span><span class="comment" twffan="done">//使用 SAXReader 解析 XML 文档 catalog.xml     </span><span twffan="done">  </span></li><li class=""><span twffan="done">            SAXReader saxReader = </span><span class="keyword" twffan="done">new</span><span twffan="done"> SAXReader();       </span></li><li class="alt"><span twffan="done">            Document document = saxReader.read(inputXml);       </span></li><li class=""><span twffan="done">                   </span></li><li class="alt"><span twffan="done">            </span><span class="comment" twffan="done">//使用 XPath 表达式从 article 元素中获得 level 节点列表。如果 level 属性值是"Intermediate"则改为"Introductory"     </span><span twffan="done">  </span></li><li class=""><span twffan="done">            List list = document.selectNodes(</span><span class="string" twffan="done">"//article/@level"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">            Iterator iter=list.iterator();       </span></li><li class=""><span twffan="done">            </span><span class="keyword" twffan="done">while</span><span twffan="done">(iter.hasNext()){       </span></li><li class="alt"><span twffan="done">                Attribute attribute=(Attribute)iter.next();       </span></li><li class=""><span twffan="done">                </span><span class="keyword" twffan="done">if</span><span twffan="done">(attribute.getValue().equals(</span><span class="string" twffan="done">"Intermediate"</span><span twffan="done">))       </span></li><li class="alt"><span twffan="done">                    attribute.setValue(</span><span class="string" twffan="done">"Introductory"</span><span twffan="done">);        </span></li><li class=""><span twffan="done">            }       </span></li><li class="alt"><span twffan="done">                   </span></li><li class=""><span twffan="done">            list = document.selectNodes(</span><span class="string" twffan="done">"//article/@date"</span><span twffan="done"> );       </span></li><li class="alt"><span twffan="done">            iter=list.iterator();       </span></li><li class=""><span twffan="done">            </span><span class="keyword" twffan="done">while</span><span twffan="done">(iter.hasNext()){       </span></li><li class="alt"><span twffan="done">                Attribute attribute=(Attribute)iter.next();       </span></li><li class=""><span twffan="done">                </span><span class="keyword" twffan="done">if</span><span twffan="done">(attribute.getValue().equals(</span><span class="string" twffan="done">"December-2001"</span><span twffan="done">))       </span></li><li class="alt"><span twffan="done">                    attribute.setValue(</span><span class="string" twffan="done">"October-2002"</span><span twffan="done">);       </span></li><li class=""><span twffan="done">            }       </span></li><li class="alt"><span twffan="done">                   </span></li><li class=""><span twffan="done">            </span><span class="comment" twffan="done">//获取 article 元素列表，从 article 元素中的 title 元素得到一个迭代器，并修改 title 元素的文本     </span><span twffan="done">  </span></li><li class="alt"><span twffan="done">            list = document.selectNodes(</span><span class="string" twffan="done">"//article"</span><span twffan="done"> );       </span></li><li class=""><span twffan="done">            iter=list.iterator();       </span></li><li class="alt"><span twffan="done">            </span><span class="keyword" twffan="done">while</span><span twffan="done">(iter.hasNext()){       </span></li><li class=""><span twffan="done">                Element element=(Element)iter.next();       </span></li><li class="alt"><span twffan="done">                Iterator iterator=element.elementIterator(</span><span class="string" twffan="done">"title"</span><span twffan="done">);       </span></li><li class=""><span twffan="done">                </span><span class="keyword" twffan="done">while</span><span twffan="done">(iterator.hasNext()){       </span></li><li class="alt"><span twffan="done">                    Element titleElement=(Element)iterator.next();       </span></li><li class=""><span twffan="done">                    </span><span class="keyword" twffan="done">if</span><span twffan="done">(titleElement.getText().equals(</span><span class="string" twffan="done">"Java configuration with XML Schema"</span><span twffan="done">))       </span></li><li class="alt"><span twffan="done">                        titleElement.setText(</span><span class="string" twffan="done">"Create flexible and extensible XML schema"</span><span twffan="done">);       </span></li><li class=""><span twffan="done">                }       </span></li><li class="alt"><span twffan="done">            }       </span></li><li class=""><span twffan="done">                   </span></li><li class="alt"><span twffan="done">                   </span></li><li class=""><span twffan="done">            list = document.selectNodes(</span><span class="string" twffan="done">"//article/author"</span><span twffan="done"> );       </span></li><li class="alt"><span twffan="done">            iter=list.iterator();       </span></li><li class=""><span twffan="done">            </span><span class="keyword" twffan="done">while</span><span twffan="done">(iter.hasNext()){       </span></li><li class="alt"><span twffan="done">                Element element=(Element)iter.next();       </span></li><li class=""><span twffan="done">                Iterator iterator=element.elementIterator(</span><span class="string" twffan="done">"firstname"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">                </span><span class="keyword" twffan="done">while</span><span twffan="done">(iterator.hasNext()){       </span></li><li class=""><span twffan="done">                    Element firstNameElement=(Element)iterator.next();       </span></li><li class="alt"><span twffan="done">                    </span><span class="keyword" twffan="done">if</span><span twffan="done">(firstNameElement.getText().equals(</span><span class="string" twffan="done">"Marcello"</span><span twffan="done">))       </span></li><li class=""><span twffan="done">                        firstNameElement.setText(</span><span class="string" twffan="done">"Ayesha"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">                }       </span></li><li class=""><span twffan="done">            }       </span></li><li class="alt"><span twffan="done">                   </span></li><li class=""><span twffan="done">            list = document.selectNodes(</span><span class="string" twffan="done">"//article/author"</span><span twffan="done"> );       </span></li><li class="alt"><span twffan="done">            iter=list.iterator();       </span></li><li class=""><span twffan="done">            </span><span class="keyword" twffan="done">while</span><span twffan="done">(iter.hasNext()){       </span></li><li class="alt"><span twffan="done">                Element element=(Element)iter.next();       </span></li><li class=""><span twffan="done">                Iterator iterator=element.elementIterator(</span><span class="string" twffan="done">"lastname"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">                </span><span class="keyword" twffan="done">while</span><span twffan="done">(iterator.hasNext()){       </span></li><li class=""><span twffan="done">                    Element lastNameElement=(Element)iterator.next();       </span></li><li class="alt"><span twffan="done">                    </span><span class="keyword" twffan="done">if</span><span twffan="done">(lastNameElement.getText().equals(</span><span class="string" twffan="done">"Vitaletti"</span><span twffan="done">))       </span></li><li class=""><span twffan="done">                        lastNameElement.setText(</span><span class="string" twffan="done">"Malik"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">                }       </span></li><li class=""><span twffan="done">            }       </span></li><li class="alt"><span twffan="done">                   </span></li><li class=""><span twffan="done">            FileOutputStream fos=</span><span class="keyword" twffan="done">new</span><span twffan="done"> FileOutputStream(</span><span class="string" twffan="done">"D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog-modified.xml"</span><span twffan="done">);       </span></li><li class="alt"><span twffan="done">            OutputFormat of=</span><span class="keyword" twffan="done">new</span><span twffan="done"> OutputFormat(</span><span class="string" twffan="done">"   "</span><span twffan="done">,</span><span class="keyword" twffan="done">true</span><span twffan="done">);       </span></li><li class=""><span twffan="done">            XMLWriter xw=</span><span class="keyword" twffan="done">new</span><span twffan="done"> XMLWriter(fos, of);       </span></li><li class="alt"><span twffan="done">            xw.write( document );       </span></li><li class=""><span twffan="done">            xw.close();       </span></li><li class="alt"><span twffan="done">        }       </span></li><li class=""><span twffan="done">        </span><span class="keyword" twffan="done">catch</span><span twffan="done">(DocumentException e)       </span></li><li class="alt"><span twffan="done">        {       </span></li><li class=""><span twffan="done">            e.printStackTrace();       </span></li><li class="alt"><span twffan="done">        }       </span></li><li class=""><span twffan="done">        </span><span class="keyword" twffan="done">catch</span><span twffan="done">(IOException e){       </span></li><li class="alt"><span twffan="done">            e.printStackTrace();       </span></li><li class=""><span twffan="done">        }       </span></li><li class="alt"><span twffan="done">    }       </span></li><li class=""><span twffan="done">           </span></li><li class="alt"><span twffan="done">    </span><span class="keyword" twffan="done">public</span><span twffan="done"> </span><span class="keyword" twffan="done">static</span><span twffan="done"> </span><span class="keyword" twffan="done">void</span><span twffan="done"> main(String argv[]){       </span></li><li class=""><span twffan="done">        Dom4Jparser dom4jParser=</span><span class="keyword" twffan="done">new</span><span twffan="done"> Dom4Jparser();       </span></li><li class="alt"><span twffan="done">        dom4jParser.modifyDocument(</span><span class="keyword" twffan="done">new</span><span twffan="done"> File(</span><span class="string" twffan="done">"D:/eclipse3.2/workspace/WebServices/src/com/nikee/dom4j/catalog.xml"</span><span twffan="done">));       </span></li><li class=""><span twffan="done">    }       </span></li><li class="alt"><span twffan="done">}       </span></li></ol></div></span>
														</span>
												</span>
										</span>
								</span>
						</span>
				</div>
		</div>
		<strong>
				<font color="#0000ff">xml 代码
</font>
		</strong>
		<div class="code_title" twffan="done">
				<strong>
						<font color="#0000ff">xml 代码</font>
				</strong>
		</div>
		<div class="dp-highlighter" twffan="done">
				<div class="bar" twffan="done">
				</div>
				<ol class="dp-xml">
						<strong>
								<font color="#0000ff">
										<li class="alt">
												<span twffan="done">
														<span class="comments" twffan="done">&lt;!--sp--&gt;</span>
														<span twffan="done">xml </span>
														<span class="attribute" twffan="done">version</span>
														<span twffan="done">=</span>
														<span class="attribute-value" twffan="done">"1.0"</span>
														<span twffan="done"> </span>
														<span class="attribute" twffan="done">encoding</span>
														<span twffan="done">=</span>
														<span class="attribute-value" twffan="done">"UTF-8"</span>
														<span class="tag" twffan="done">?&gt;</span>
														<span twffan="done">      </span>
												</span>
										</li>
										<li class="">
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span class="comments" twffan="done">&lt;!--&lt;!DOCTYPE catalog PUBLIC "nikee" "file://c:/Dtds/catalog.dtd"&gt;--&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="">
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">catalog</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span class="comments" twffan="done">&lt;!--An XML Catalog--&gt;&lt;!--sp--&gt;</span>
												<span twffan="done">target text</span>
												<span class="tag" twffan="done">?&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="">
												<span twffan="done"> </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">journal</span>
												<span twffan="done"> </span>
												<span class="attribute" twffan="done">title</span>
												<span twffan="done">=</span>
												<span class="attribute-value" twffan="done">"XML Zone"</span>
												<span twffan="done"> </span>
												<span class="attribute" twffan="done">publisher</span>
												<span twffan="done">=</span>
												<span class="attribute-value" twffan="done">"IBM developerWorks"</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">        </span>
										</li>
										<li class="alt">
												<span twffan="done">   </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">article</span>
												<span twffan="done"> </span>
												<span class="attribute" twffan="done">level</span>
												<span twffan="done">=</span>
												<span class="attribute-value" twffan="done">"Introductory"</span>
												<span twffan="done"> </span>
												<span class="attribute" twffan="done">date</span>
												<span twffan="done">=</span>
												<span class="attribute-value" twffan="done">"October-2002"</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">          </span>
										</li>
										<li class="">
												<span twffan="done">      </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">title</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">Create flexible and extensible XML schematitle</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span twffan="done">      </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">author</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">           </span>
										</li>
										<li class="">
												<span twffan="done">         </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">firstname</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">Ayeshafirstname</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span twffan="done">         </span>
												<span class="tag" twffan="done">&lt;</span>
												<span class="tag-name" twffan="done">lastname</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">Maliklastname</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="">
												<span twffan="done">      author</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span twffan="done">   article</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="">
												<span twffan="done"> journal</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">      </span>
										</li>
										<li class="alt">
												<span twffan="done">catalog</span>
												<span class="tag" twffan="done">&gt;</span>
												<span twffan="done">    </span>
										</li>
								</font>
						</strong>
				</ol>
		</div>
		<font color="#333399" face="Courier New" size="2">
				<strong>Dom4Jparser.java用于修改 XML 文档 catalog.xml为catalog-modified.xml</strong>
		</font>
		<p>
				<font color="#333399" face="Courier New" size="2">
						<strong>问题总结:</strong>
				</font>
		</p>
		<p>
				<font color="#333399">
						<font face="Courier New" size="2">
								<strong>1.当catalog.xml有&lt;!--CTYPE catalog PUBLIC "nikee" "file://c:/Dtds/catalog.dt--&gt;这一句,Dom4Jparser.java修改 XML 文档 catalog.xml为catalog-modified.xml时,发生异常org.dom4j.DocumentException: c Nested exception: c.</strong>
						</font>
				</font>
		</p>
		<p>
				<font color="#333399" face="Courier New" size="2">
						<strong>原因:我自己没有此</strong>
				</font>
				<a href="file:///c:/Dtds/catalog.dtd">
						<font color="#333399" face="Courier New" size="2">
								<strong>file://c:/Dtds/catalog.dtd</strong>
						</font>
				</a>
				<font color="#333399" face="Courier New" size="2">
						<strong>.</strong>
				</font>
		</p>
		<p>
				<font color="#333399" face="Courier New" size="2">
						<strong>解决办法:删掉此行.</strong>
				</font>
		</p>
		<p>
				<font color="#333399" face="Courier New" size="2">
						<strong>2.除了加入dom4j.jar包外,必须加入jaxen.jar包,否则会发生异常.jaxen包可在</strong>
				</font>
				<a href="http://jaxen.org/">
						<u>
								<font color="#333399" face="Courier New" size="2">
										<strong>http://jaxen.org/</strong>
								</font>
						</u>
				</a>
				<font color="#333399" face="Courier New" size="2">
						<strong>下载.</strong>
				</font>
		</p>
<img src ="http://www.blogjava.net/supperchen/aggbug/157806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supperchen/" target="_blank">缘来如此</a> 2007-11-02 18:00 <a href="http://www.blogjava.net/supperchen/archive/2007/11/02/157806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>