<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
	<channel>
		<title>½ðÂóÍøÂç</title>
		<link>http://www.kingmx.com</link>
		<copyright>Copyright (C) 2006 ½ðÂóÍøÂç-Kingmx.com All Rights Reserved.</copyright>
		<item>
			<title>ASP + XML ÁôÑÔ°å</title>
			<link>http://www.kingmx.com/article.php?id=14913</link>
			<pubDate>2007-1-8</pubDate>
			<description><![CDATA[
 




Ô´ÂëÏÂÔØ

]]></description>
		</item>
		<item>
			<title>Áé»îµ÷ÓÃxslÀ´½âÎöxmlÎÄµµ(jsÒì²½)</title>
			<link>http://www.kingmx.com/article.php?id=14586</link>
			<pubDate>2006-11-30</pubDate>
			<description><![CDATA[

1.ÐÂ½¨Ò»¸övs2003µÄweb¹¤³Ì,È¡ÃûÎªXMLTest
&nbsp;&nbsp;&nbsp;&nbsp; 2.½«¹¤³ÌÄ¿Â¼ÏÂµÄWebForm1.aspxÖÐÄÚÈÝÈ«²¿É¾³ý£¬Ö»ÁôÏÂ¶¥²¿µÄÒ»ÌõÓï¾ä£º

&nbsp;&nbsp;&nbsp;&nbsp; &lt;%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XMLTest.WebForm1" %&gt;

3.ÐÞ¸ÄWebForm1.aspx.csÖÐÄÚÈÝ£¬ÔÚPage_LoadÖÐ¼ÓÈë:

ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
&nbsp;&nbsp;&nbsp; XmlDocument doc=new XmlDocument(); 
&nbsp;&nbsp;&nbsp; String xmlfile=string.Empty; 
&nbsp;&nbsp;&nbsp; xmlfile=Context.Request.PhysicalApplicationPath+(Request.QueryString["sel"].ToString()=="xml"?"\hello.xml":"\hello.xsl"); 
&nbsp;&nbsp;&nbsp; doc.Load(xmlfile); 
&nbsp;&nbsp;&nbsp; Response.Write(doc.InnerXml); 

&nbsp;&nbsp;&nbsp;&nbsp; 4.ÔÚ¹¤³Ì¸ùÄ¿Â¼ÏÂÐÂÔötest.htm,²¢ÉèÎª¹¤³ÌÊ×Ò³:

ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
&lt;html&gt; 
&lt;head&gt; 
&nbsp; &lt;title&gt;&lt;/title&gt; 
&lt;/head&gt; 
&lt;body&gt; 
&nbsp; &lt;div id="resTree"&gt;&lt;/div&gt; 
&nbsp; &lt;FONT face="ËÎÌå"&gt;&lt;/FONT&gt;&lt;input type="button" value="Ö´ÐÐ" onclick="GetXml()"&gt;&lt;BR&gt; 
&nbsp; &lt;script language="JScript"&gt; 
&nbsp; var srcTree,xsltTree,xt; 
&nbsp; var http_request = false; 
&nbsp;&nbsp;&nbsp; 
&nbsp; function GetXml() 
&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; srcTree = new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); 
&nbsp;&nbsp;&nbsp; srcTree.async=false; 
&nbsp;&nbsp;&nbsp; xsltTree= new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); 
&nbsp;&nbsp;&nbsp; xsltTree.async = false; 
&nbsp;&nbsp;&nbsp; xt=new ActiveXObject("MSXML2.XSLTemplate"); 
&nbsp;&nbsp; resTree.innerHTML=""; 
&nbsp;&nbsp;&nbsp; makeRequest("WebForm1.aspx?sel=xml",GetXml_CB); 
&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; function makeRequest(url,callback) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = false; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (window.XMLHttpRequest) { // Mozilla, Safari,... 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new XMLHttpRequest(); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.overrideMimeType) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.overrideMimeType('text/xml'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (window.ActiveXObject) { // IE 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (e) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (e) {} 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!http_request) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('Giving up :( Cannot create an XMLHTTP instance'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.onreadystatechange = callback; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.open('GET', url, true); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.send(null); 
&nbsp;&nbsp;&nbsp; } 

&nbsp;&nbsp;&nbsp; function GetXml_CB() { 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.readyState == 4) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.status == 200) {&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; srcTree.loadXML(http_request.responseText); 
&nbsp;&nbsp;&nbsp; makeRequest("WebForm1.aspx?sel=xsl",GetXsl_CB); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('There was a problem with the request.'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 

&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; function GetXsl_CB(){ 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.readyState == 4) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.status == 200) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xsltTree.loadXML(http_request.responseText); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xt.stylesheet=xsltTree; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var proc=xt.createProcessor(); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proc.input=srcTree; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proc.transform(); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resTree.innerHTML=proc.output; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('There was a problem with the request.'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; } 

&nbsp;&nbsp;&nbsp; function makeRequest(url,callback) { 
&nbsp;&nbsp;&nbsp;&nbsp; http_request = false; 
&nbsp;&nbsp;&nbsp;&nbsp; if (window.XMLHttpRequest) { // Mozilla, Safari,... 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new XMLHttpRequest(); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (http_request.overrideMimeType) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.overrideMimeType('text/xml'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (window.ActiveXObject) { // IE 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (e) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (e) {} 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!http_request) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('Giving up :( Cannot create an XMLHTTP instance'); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.onreadystatechange = callback; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.open('GET', url, true); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http_request.send(null); 
&nbsp;&nbsp;&nbsp; } 

&nbsp; &lt;/script&gt; 

&lt;/body&gt; 
&lt;/html&gt; 

&nbsp;&nbsp;&nbsp;&nbsp; 5.ÔËÐÐ¹¤³Ì£¬¿´¿´Ð§¹û°É! 

&nbsp;&nbsp;&nbsp;&nbsp; hello.xml(×¢Òâ:ÎÒµÄxmlÎÄµµÖÐ²¢Ã»ÓÐÖ¸¶¨¶ÔÓ¦µÄxsl½âÎöÎÄ¼þÃû)

ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
&lt;?xml version='1.0'?&gt; 

&lt;breakfast-menu&gt; 
&nbsp; &lt;food&gt; 
&nbsp;&nbsp;&nbsp; &lt;name&gt;Belgian Waffles&lt;/name&gt; 
&nbsp;&nbsp;&nbsp; &lt;price&gt;$5.95&lt;/price&gt; 
&nbsp;&nbsp;&nbsp; &lt;description&gt;Two of our famous Belgian Waffles&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with plenty of real maple syrup.&lt;/description&gt; 
&nbsp;&nbsp;&nbsp; &lt;calories&gt;650&lt;/calories&gt; 
&nbsp; &lt;/food&gt; 
&nbsp; &lt;food&gt; 
&nbsp;&nbsp;&nbsp; &lt;name&gt;Strawberry Belgian Waffles&lt;/name&gt; 
&nbsp;&nbsp;&nbsp; &lt;price&gt;$7.95&lt;/price&gt; 
&nbsp;&nbsp;&nbsp; &lt;description&gt;Light Belgian waffles covered with&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; strawberries and whipped cream.&lt;/description&gt; 
&nbsp;&nbsp;&nbsp; &lt;calories&gt;900&lt;/calories&gt; 
&nbsp; &lt;/food&gt; 
&nbsp; &lt;food&gt; 
&nbsp;&nbsp;&nbsp; &lt;name&gt;Berry-Berry Belgian Waffles&lt;/name&gt; 
&nbsp;&nbsp;&nbsp; &lt;price&gt;$8.95&lt;/price&gt; 
&nbsp;&nbsp;&nbsp; &lt;description&gt;Light Belgian waffles covered&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with an assortment of fresh berries&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and whipped cream.&lt;/description&gt; 
&nbsp;&nbsp;&nbsp; &lt;calories&gt;900&lt;/calories&gt; 
&nbsp; &lt;/food&gt; 
&nbsp; &lt;food&gt; 
&nbsp;&nbsp;&nbsp; &lt;name&gt;French Toast&lt;/name&gt; 
&nbsp;&nbsp;&nbsp; &lt;price&gt;$4.50&lt;/price&gt; 
&nbsp;&nbsp;&nbsp; &lt;description&gt;Thick slices made from our homemade&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; sourdough bread.&lt;/description&gt; 
&nbsp;&nbsp;&nbsp; &lt;calories&gt;600&lt;/calories&gt; 
&nbsp; &lt;/food&gt; 
&nbsp; &lt;food&gt; 
&nbsp;&nbsp;&nbsp; &lt;name&gt;Homestyle Breakfast&lt;/name&gt; 
&nbsp;&nbsp;&nbsp; &lt;price&gt;$6.95&lt;/price&gt; 
&nbsp;&nbsp;&nbsp; &lt;description&gt;Two eggs, bacon or sausage, toast,&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and our ever-popular hash browns.&lt;/description&gt; 
&nbsp;&nbsp;&nbsp; &lt;calories&gt;950&lt;/calories&gt; 
&nbsp; &lt;/food&gt; 
&lt;/breakfast-menu&gt; 

&nbsp;&nbsp;&nbsp;&nbsp; hello.xsl

ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
&lt;?xml version="1.0"?&gt; 
&lt;xsl:stylesheet version="1.0"&nbsp; xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt; 
&nbsp; &lt;xsl:template match="/breakfast-menu"&gt; 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:for-each select="food"&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DIV STYLE="background-color:teal; color:white; padding:4px"&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SPAN STYLE="font-weight:bold; color:white"&gt;&lt;xsl:value-of select="name"/&gt;&lt;/SPAN&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ÖÁ &lt;xsl:value-of select="price"/&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DIV&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DIV STYLE="margin-left:20px; margin-bottom:1em; font-size:10pt"&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select="description"/&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SPAN STYLE="font-style:italic"&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select="calories"/&gt; ºÙºÙ 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/SPAN&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DIV&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:for-each&gt; 

&nbsp; &lt;/xsl:template&gt; 
&lt;/xsl:stylesheet&gt; 

&nbsp;&nbsp;&nbsp;&nbsp; xmlÎÄµµÖ»ÓÐ´¿´âµÄÊý¾Ý£¬Èç¹ûÐèÒªÏÔÊ¾µ½htmlÒ³ÃæÖÐµÄ»°£¬Ò»°ãÐèÒªÊ¹ÓÃ¶¨ÖÆµÄxslÎÄµµÀ´½âÎö£¬»òÕßÊÖ¹¤Í¨¹ýjsÀ´¶ÁÈ¡xmlÖÐµÄÖµÏÔÊ¾µ½htmlÖÐµÄdomÊ÷ÖÐ£¬µ±Ê¹ÓÃxslÎÄµµÀ´½âÎöÊ±£¬ÏàÓ¦µÄxmlÎÄµµÖÐ±ØÐëÖ¸¶¨¶ÔÓ¦µÄxslÎÄµµ²ÅÄÜÕý³£ÏÔÊ¾£¬µ«µ±ÓÐÐ©³ÌÐò¶¯Ì¬Êä³öxmlÎÄµµÊ±£¬²¢Ã»ÓÐÖ¸¶¨ÏàÓ¦µÄxslÎÄµµ£¬ÕâÊ±¾Í±ØÐëÍ¨¹ýÆäËüÍ¾¾¶À´¼ÓÔØÏàÓ¦µÄxslÎÄµµÀ´½âÎö£¬µ±È»£¬ÔÚ·þÎñÆ÷¶ËÊä³öxmlÎÄµµÊ±£¬Í¨¹ýÒ»Ð©xml apiÒ²¿ÉÒÔÊµÏÖ£¬ÎÒÕâ¶ùÃèÊöµÄÊÇÍ¨¹ýjsÀ´ÊµÏÖµÄÒ»ÖÖ·½Ê½¡£ÓÃÕâÖÖ·½Ê½µÄ»°£¬¾ÍÅ×¿ªÁË·þÎñÆ÷Æ½Ì¨µÄÏÞÖÆ£¬·þÎñÆ÷¶ËÖ»ÐèÒªÊä³öÏàÓ¦µÄxmlÎÄµµ(.net/j2ee¶¼¿ÉÒÔ)£¬²¢ÇÒ½«¶ÔÓ¦µÄxslÎÄµµÊä³ö¸ø¿Í»§¶Ë£¨¿ÉÒÔÊä³öÁ÷»òÖ±½ÓÔÚ¿Í»§¶Ë¼ÓÔØxslÎÄµµ)¡£

&nbsp;&nbsp;&nbsp;&nbsp; ÕâÀïÓÐ¼¸¸öÐèÒª×¢ÒâµÄµØ·½£¬ÎÒÃÇÒ»°ãÊÇÊ¹ÓÃMsxml2.Document×é¼þÀ´¼ÓÔØxmlÎÄµµµÄ£¬µ«µ±¶¯Ì¬Ê¹ÓÃxsl½âÎöxmlÎÄµµÊ±£¬±ØÐëÊ¹ÓÃMsxml2.FreeThreadedDOMDocumentÕâÖÖ×ÔÓÉÏß³ÌµÄ×é¼þ£¬Í¬Ê±Ê¹ÓÃMSXML2.XSLTemplateÄ£°å×é¼þÀ´¼ÓÔØxml,xslÊý¾Ý£¬Í¨¹ýMSXML2.XSLTemplateµÄtransform·½·¨£¬¾Í¿ÉÒÔ¶¯Ì¬µÄÓÃxslÀ´½âÎöxmlÊý¾ÝÁË,ÁíÍâ£¬IE5¿ªÊ¼£¬ÏµÍ³Ä¬ÈÏµÄxml×é¼þÊÇmsxml2£¬Èç¹ûÐèÒªÊ¹ÓÃ¸üÐÂµÄmsxml×é¼þÐèÒª°²×°¸üÐÂµÄmsxml×é¼þ°ü£¬²¢Ö¸¶¨ÐÂµÄÃû³Æ£¬ÀýÈçMsxml2.FreeThreadedDOMDocument.4.0£¬ÏÖÔÚ×îÐÂµÄmsxml×é¼þÊÇ6.0beta£¬¿ÉÔÚM$ÍøÕ¾ÏÂÔØ¡£
]]></description>
		</item>
		<item>
			<title>xmlÎÄ¼þµ÷ÓÃcss</title>
			<link>http://www.kingmx.com/article.php?id=14543</link>
			<pubDate>2006-11-29</pubDate>
			<description><![CDATA[
ÕâÐ©Ð¡¶«Î÷ÊÇÎÒÔÚÍøÉÏ¿´µ½µÄ¾Í°ÑËü¼ÇÏÂÀ´ÁË£¬¿ÉÄÜÒÔºó»áÓÐÓÃµÄ£º
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?xml version="1.0" encoding="GB2312"?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?xml-stylesheet type="text/CSS" href="resume.css"?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;resume&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;ÓíÏ£³õ&lt;/name&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sex&gt;ÄÐ&lt;/sex&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;birthday&gt;1977.5&lt;/birthday&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;skill&gt;Êý¾Ý¿âÉè¼ÆÓëÎ¬»¤¡¢WEB¿ª·¢&lt;/skill&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/resume&gt; 
&nbsp; resume.cssÎÄ¼þ

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resume{ display: block;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name{ display: block; font-size:120%;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sex{ display:block; text-indent:2em}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; birthday{ display:block; text-indent:2em}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; skill{ display:block; text-indent:2em}

http://www.cnblogs.com/hfyb/archive/2006/11/27/574486.html

]]></description>
		</item>
		<item>
			<title>xml¸¨Öúflashµç×ÓµØÍ¼±ê×¢µØÃû</title>
			<link>http://www.kingmx.com/article.php?id=13171</link>
			<pubDate>2006-10-30</pubDate>
			<description><![CDATA[
	¶ÔÓÚÖÆ×÷Êý¾ÝÁ¿½Ï´óµÄ´óÐÍ³ÇÊÐµØÍ¼£¬Ö±½ÓÔÚflash»·¾³ÖÐÊÖ¶¯´´½¨µØÃû±ê×¢ÄÚÈÝ²»½ö¹¤×÷Á¿¾Þ´ó£¬¶øÇÒÎ¬»¤¸üÐÂ·Ç³£²»±ã£¬ÕâÑù¾Í±ØÐë½èÖúÍâ²¿Êý¾ÝÎÄ¼þÀ´¸¨ÖúÍê³ÉÆäÖÐµÄµØÃû±ê×¢¹¤×÷¡£µ±È»£¬µ÷ÓÃÊý¾ÝÎÄ¼þµÄ·½·¨ºÜ¶à£¬ÎÒÃÇÕâÀï½éÉÜÒ»ÖÖ½ÏÎª¼òµ¥µÄ£¬¼´ÔÚflashÖÐµ÷ÓÃÍâ²¿xmlÊý¾ÝÎÄ¼þ¡£ 
¡¡¡¡¼ÈÈ»Éæ¼°xmlÎÄ¼þ£¬¾ÍÓÐ±ØÒª¶ÔxmlÓÐÒ»¸ö³õ²½µÄÁË½â¡£ 
¡¡¡¡Ò»¡¢³õÊ¶xml 
¡¡¡¡1¡¢Ê²Ã´ÊÇxml£¿ 
¡¡¡¡xml ÊÇÓ¢ÎÄextensible markup languageµÄËõÐ´£¬ÖÐÎÄÒâÎª¿ÉÀ©Õ¹µÄ±ê¼ÇÓïÑÔ¡£xmlÊÇÒ»Ì×¶¨ÒåÓïÒå±ê¼ÇµÄ¹æÔò£¬ÕâÐ©±ê¼Ç½«ÎÄµµ·Ö³ÉÐí¶à²¿¼þ²¢¶ÔÕâÐ©²¿¼þ¼ÓÒÔ±êÊ¶¡£ËüÒ²ÊÇÔª±ê¼ÇÓïÑÔ£¬¼´¶¨ÒåÁËÓÃÓÚ¶¨ÒåÆäËûÓëÌØ¶¨ÁìÓòÓÐ¹ØµÄ¡¢ÓïÒåµÄ¡¢½á¹¹»¯µÄ±ê¼ÇÓïÑÔµÄ¾ä·¨ÓïÑÔ¡£ 
¡¡¡¡2¡¢xmlÎÄ¼þÊ½Ñù 
¡¡¡¡ÒÔÏÂÎªÒ»¸öxmlÎÄ¼þ½á¹¹£¬ÓÐÐ©ÀàËÆhtmlÓïÑÔ£º 

ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
£¼?xml&nbsp;version=&quot;1.0&quot;&nbsp;encoding=&quot;utf-8&quot;&nbsp;?£¾&nbsp; 
£¼countrydata£¾&nbsp; 
£¼state&nbsp;id=&quot;range&quot;£¾&nbsp; 
£¼data£¾0&nbsp;-&nbsp;33£¼/data£¾&nbsp; 
£¼color£¾fed976£¼/color£¾&nbsp; 
£¼/state£¾&nbsp; 
£¼state&nbsp;id=&quot;range&quot;£¾&nbsp; 
£¼data£¾34&nbsp;-&nbsp;66£¼/data£¾&nbsp; 
£¼color£¾feb24c£¼/color£¾&nbsp; 
£¼/state£¾&nbsp; 
£¼state&nbsp;id=&quot;range&quot;£¾&nbsp; 
£¼data£¾67&nbsp;-&nbsp;99£¼/data£¾&nbsp; 
£¼color£¾fd8d3c£¼/color£¾&nbsp; 
£¼/state£¾&nbsp; 
£¼/countrydata£¾

¶þ¡¢flashµ÷ÓÃxmlÎÄ¼þµÄ·½·¨ 
¡¡¡¡flashÖÐµÄactionscript2.0¹ØÓÚµ÷ÓÃxmlµÄÈ«¾Öº¯ÊýÓë·½·¨ÊôÐÔ½Ï¶à£¬ÒÔÏÂÖ»½éÉÜ±¾ÀýÖÐÉæ¼°µÄÄÚÈÝ£º 
¡¡¡¡1¡¢½¨Á¢xml¶ÔÏó£º 
¡¡¡¡var myxml = new xml(); 
¡¡¡¡2¡¢ÒýÓÃxmlÎÄ¼þ£º 
¡¡¡¡myxml.load(&quot;data.xml&quot;); 
¡¡¡¡3¡¢ºöÂÔ¿Õ¸ñ£º 
¡¡¡¡myxml.ignorewhite = true;/Ä¬ÈÏµÄÎªfalse 
¡¡¡¡4¡¢´¦Àíxml¶ÔÏóµÄload£¨xml.load ·½·¨£© 
¡¡¡¡public load(url:string) : boolean 
¡¡¡¡´ÓÖ¸¶¨µÄ url ÖÐ¼ÓÔØ xml ÎÄµµ£¬²¢Ê¹ÓÃÏÂÔØµÄ xml Êý¾ÝÌæ»»Ö¸¶¨ xml ¶ÔÏóµÄÄÚÈÝ¡£¸Ã url ÊÇÏà¶Ô url£¬²¢Ê¹ÓÃ http ½øÐÐµ÷ÓÃ¡£¼ÓÔØ¹ý³ÌÊÇÒì²½µÄ£»Ëü²»»áÔÚÖ´ÐÐ load() ·½·¨ºóÁ¢¼´½áÊø¡£ 
¡¡¡¡Ö´ÐÐ load() ·½·¨Ê±£¬xml ¶ÔÏóµÄ loaded ÊôÐÔ±»ÉèÖÃÎª false¡£ÔÚ xml Êý¾ÝÏÂÔØÍê±Ïºó£¬loaded ÊôÐÔ±»ÉèÖÃÎª true£¬²¢µ÷ÓÃ onload ÊÂ¼þ´¦Àíº¯Êý¡£Ö±µ½ xml Êý¾ÝÍêÈ«ÏÂÔØºó£¬²Å¿ªÊ¼·ÖÎö¡£Èç¹û¸Ã xml ¶ÔÏóÒÔÇ°°üº¬ÈÎºÎ xml Ê÷£¬ËüÃÇ½«±»·ÅÆú¡£ 
¡¡¡¡Äú¿ÉÒÔ¶¨ÒåÒ»¸öÔÚµ÷ÓÃ xml ¶ÔÏóµÄ onload ÊÂ¼þ´¦Àíº¯ÊýÊ±Ö´ÐÐµÄ×Ô¶¨Òåº¯Êý¡£ 
¡¡¡¡5¡¢´¦Àíxml¶ÔÏóµÄonload£¨xml.onload ´¦Àíº¯Êý£© 
¡¡¡¡onload = function(success:boolean) {} 
¡¡¡¡ÊÕµ½À´×Ô·þÎñÆ÷µÄ xml ÎÄµµÊ±ÓÉ flash player µ÷ÓÃ¡£Èç¹û³É¹¦½ÓÊÕÁË xml ÎÄµµ£¬Ôò success ²ÎÊýÎª true¡£Èç¹ûÎ´ÊÕµ½¸ÃÎÄµµ£¬»ò´Ó·þÎñÆ÷½ÓÊÕÏìÓ¦Ê±³öÏÖ´íÎó£¬Ôò success ²ÎÊýÎª false¡£Ä¬ÈÏÇé¿öÏÂ£¬´Ë·½·¨µÄÊµÏÖ²»´¦ÓÚ»î¶¯×´Ì¬¡£ÈôÒª¸²¸ÇÄ¬ÈÏÊµÏÖ£¬±ØÐëÖ¸¶¨Ò»¸ö°üº¬×Ô¶¨Òå¶¯×÷µÄº¯Êý¡£
ÔÚ³õ²½ÁË½âÁËÒÔÉÏxmlµÄ»ù´¡ºó£¬ÎÒÃÇ¾Í¿ÉÒÔ½ô½ÓÉÏÒ»ÀýµÄ²½ÖèÍê³ÉµØÃû±ê×¢¹¤×÷£º 
¡¡¡¡1¡¢´´½¨ÓÃÓÚµØÃû±ê×¢µÄxmlÎÄ¼þ£º 
Ê×ÏÈÎÒÃÇÒª´´½¨Ò»¸ö°üº¬¹ØÓÚÐèÒª±ê×¢µÄµØÃûÐÅÏ¢ÎÄ¼þ£¬¼´°üº¬µØÃû³Æ¡¢µØÃû×ø±êµÈ»ù±¾ÐÅÏ¢¡£±¾ÀýÖÐÎÒÃÇÖ»´´½¨Ò»¸öÊ¾·¶ÐÔµÄµØÃûÐÅÏ¢Êý¾ÝÎÄ¼þ£¬Æä¸ñÊ½ÎªxmlÎÄ¼þ¸ñÊ½£¬ÄÚÈÝÈçÏÂ£º 
£¼?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot; ?£¾ 
£¼map£¾ 
£¼r£¾£¼n£¾´óÇåºþ£¼/n£¾£¼x£¾37£¼/x£¾£¼y£¾264£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾»·£¼/n£¾£¼x£¾154£¼/x£¾£¼y£¾67£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾³Ç£¼/n£¾£¼x£¾164£¼/x£¾£¼y£¾67£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Î÷£¼/n£¾£¼x£¾175£¼/x£¾£¼y£¾69£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Â·£¼/n£¾£¼x£¾184£¼/x£¾£¼y£¾72£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾»·£¼/n£¾£¼x£¾289£¼/x£¾£¼y£¾101£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾³Ç£¼/n£¾£¼x£¾297£¼/x£¾£¼y£¾107£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¶«£¼/n£¾£¼x£¾309£¼/x£¾£¼y£¾114£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Â·£¼/n£¾£¼x£¾321£¼/x£¾£¼y£¾117£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÖÐ£¼/n£¾£¼x£¾231£¼/x£¾£¼y£¾95£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÐÄ£¼/n£¾£¼x£¾232£¼/x£¾£¼y£¾114£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÄÏ£¼/n£¾£¼x£¾233£¼/x£¾£¼y£¾135£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Â·£¼/n£¾£¼x£¾234£¼/x£¾£¼y£¾158£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÖÐ£¼/n£¾£¼x£¾229£¼/x£¾£¼y£¾18£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÐÄ£¼/n£¾£¼x£¾233£¼/x£¾£¼y£¾34£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾±±£¼/n£¾£¼x£¾235£¼/x£¾£¼y£¾47£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Â·£¼/n£¾£¼x£¾234£¼/x£¾£¼y£¾58£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ïÄ³Ä³ÊÐÕþ¸®£¼/n£¾£¼x£¾239£¼/x£¾£¼y£¾88£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ñ³ÇÖÐÓ°¾çÔº£¼/n£¾£¼x£¾271£¼/x£¾£¼y£¾84£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ñÐÂ»ªÊéµê£¼/n£¾£¼x£¾171£¼/x£¾£¼y£¾60£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾³Ç£¼/n£¾£¼x£¾92£¼/x£¾£¼y£¾87£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾»·£¼/n£¾£¼x£¾104£¼/x£¾£¼y£¾98£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Ò»£¼/n£¾£¼x£¾121£¼/x£¾£¼y£¾110£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾Â·£¼/n£¾£¼x£¾134£¼/x£¾£¼y£¾124£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾´óÇåºþÂÃÓÎÇø£¼/n£¾£¼x£¾36£¼/x£¾£¼y£¾223£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ø°ÙÕÉ·å£¼/n£¾£¼x£¾124£¼/x£¾£¼y£¾30£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ò¶«³ÇÐÂ´å£¼/n£¾£¼x£¾340£¼/x£¾£¼y£¾158£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡òÄÏ³ÇÐÂ´å£¼/n£¾£¼x£¾287£¼/x£¾£¼y£¾189£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ùÐÂñý»¨Ô°£¼/n£¾£¼x£¾292£¼/x£¾£¼y£¾70£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾ÈËÃñ¹«Ô°£¼/n£¾£¼x£¾144£¼/x£¾£¼y£¾42£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¶¯ÎïÔ°£¼/n£¾£¼x£¾140£¼/x£¾£¼y£¾105£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¶«³Ç¹ã³¡£¼/n£¾£¼x£¾342£¼/x£¾£¼y£¾73£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ù°ÙÌì»¨Ô°£¼/n£¾£¼x£¾92£¼/x£¾£¼y£¾55£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ù»¨·åÐ¡Çø£¼/n£¾£¼x£¾346£¼/x£¾£¼y£¾189£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ò¸ßÃûÐÂ´å£¼/n£¾£¼x£¾375£¼/x£¾£¼y£¾146£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¡ù·çÌ¨»¨Ô·£¼/n£¾£¼x£¾210£¼/x£¾£¼y£¾185£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„³ÇÖÐ´óÏÃ£¼/n£¾£¼x£¾219£¼/x£¾£¼y£¾111£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„¼ÑºÃ´óÂ¥£¼/n£¾£¼x£¾185£¼/x£¾£¼y£¾109£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„ÌìÆô¹¤Òµ´óÏÃ£¼/n£¾£¼x£¾122£¼/x£¾£¼y£¾63£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„³¿¹âÉÌÃ³´óÏÃ£¼/n£¾£¼x£¾265£¼/x£¾£¼y£¾62£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„»ªÇÈµç×Ó´óÏÃ£¼/n£¾£¼x£¾209£¼/x£¾£¼y£¾84£¼/y£¾£¼/r£¾ 
£¼r£¾£¼n£¾¨„¼ÑºÃÉÌ³Ç£¼/n£¾£¼x£¾196£¼/x£¾£¼y£¾49£¼/y£¾£¼/r£¾ 
£¼/map£¾ 
¡¡¡¡ ×¢£ºÆäÖÐÓëÏîÎªµØÃûÃû³Æ£»122Óë63ÏîÎªµØÃû±ê×¢µÄxÖáÓëyÖá×ø±ê£¬ÖÁÓÚÆä×ø±êÖµµÄµÃÀ´½«ÔÚÒÔºóµÄÊµÀýÖÐÏêÏ¸½²½â¡£ 
2¡¢flashµ÷ÓÃµÄ´úÂë 
¡¡¡¡ ´ò¿ªflash professional£¬ÔÚÉÏÒ»½²ÖÐµÄµØÍ¼µ×Í¼ËùÔÚ²ãµÄÊ±¼äÖáÉÏ£¬ÔÙ²¹ÈëÒÔÏÂactionscript´úÂë£º 
var road_xml:xml = new xml(); /½¨Á¢xml¶ÔÏó 
road_xml.ignorewhite = true; /ºöÂÔ¿Õ¸ñ£º 
road_xml.onload = function (success:boolean):void { 
if (success) { /Èç¹ûµ÷ÓÃ³É¹¦ 
var childitems:array = road_xml.firstchild.childnodes; /¶¨ÒåÊý¾Ý×é 
var f=0; /¶¨ÒåmcÉî¶ÈµÄ±äÁ¿ 
for (var i:number = 0; i var x=childitems[i].childnodes[1].childnodes[0].nodevalue /»ñÈ¡x×ø±êÖµ 
var y=childitems[i].childnodes[2].childnodes[0].nodevalue /»ñÈ¡y×ø±êÖµ 
_root.map_mc.bzmap_mc.createtextfield(&quot;road&quot;+i, f, x, y, 1, 1); /´´½¨µØÃûÎÄ±¾ 
p=eval(&quot;road&quot;+i); /½«ÎÄ±¾¿ò±äÁ¿µÄÃû³Æ¸³¸øp 
p.autosize = &quot;left&quot;; /Ö¸¶¨ÎÄ±¾µÄ¶ÔÆë·½Ê½ 
p.text = childitems[i].childnodes[0].childnodes[0].nodevalue ; /»ñÈ¡µØÃûÃû³Æ 
f=f+1; /mcÉî¶È×Ô¶¯¼Ó1 
} 
} 
}
¡¡¡¡road_xml.load(&quot;road.xml&quot;); /µ÷ÓÃxmlÎÄ¼þ£º 
¡¡¡¡×¢£ºÆäÖÐxmlÎÄ¼þµÄÂ·¾¶Ê¹ÓÃÁËÏà¶ÔÂ·¾¶£¬´ËÂ·¾¶ÊÇxmlÎÄ¼þÏà¶ÔÓÚµ÷ÓÃflashÎÄ¼þµÄÍøÒ³ÎÄ¼þµÄÂ·¾¶£¬¼´ÔÚ±¾ÀýÖÐ£¬µ÷ÓÃflashµØÍ¼ÎÄ¼þµÄÍøÒ³ÎÄ¼þ±ØÐëÓëroad.xmlÎÄ¼þÖÃÓÚÏàÍ¬µÄÂ·¾¶ÏÂ£¬·ñÔòflash½«ÎÞ·¨µ÷ÓÃxmlÎÄ¼þ¡£ 
¡¡¡¡ÕâÑù£¬flashÎÄ¼þÖ»Ìá¹©µç×ÓµØÍ¼µÄ»ù±¾¹¹¼Ü£¬ÓÉÍâ²¿µÄroad.xmlÎÄ¼þÌá¹©µØÃû±ê×¢ÐÅÏ¢£¬Èç¶ÔµØÃû½øÐÐÉ¾¼õ¡¢Ôö¼Ó¡¢¾À´íµÈ²Ù×÷Ê±£¬Ö»ÐèÒª¶ÔxmlÎÄ¼þ½øÐÐÏàÓ¦µÄ¸ü¸Ä¾Í¿ÉÒÔÁË£¬¶øflashÎÄ¼þ²»ÐèÒª×öÈÎºÎµÄ¸Ä¶¯¡£ÕâÑù¾Í´ó´ó¼õÐ¡ÁËÎ¬»¤¡¢¸üÐÂµÄ¹¤×÷Á¿¡£ 
¡¡¡¡ÒÔÉÏ¾ÍÊÇflashµ÷ÓÃÍâ²¿xmlÎÄ¼þµÄ»ù±¾²½Öè£»µ±È»ÎÒÃÇÔÚ±¾ÀýÖÐµ÷ÓÃÊÇÒÑ¾­±à¼­ºÃµÄxmlÊý¾ÝÎÄ¼þ£¬¶ø»ñÈ¡º£Á¿µØÃûÔÚµØÍ¼ÉÏµÄ×ø±êÖµÒ²Í¬Ñù¿ÉÒÔÔÚflash»·¾³ÖÐ»ñµÃ¡£

	
	
	]]></description>
		</item>
		<item>
			<title>XMLTextReaderºÍXmlDocument¶ÁÈ¡XMLÎÄ¼þµÄ±È½Ï</title>
			<link>http://www.kingmx.com/article.php?id=13040</link>
			<pubDate>2006-10-26</pubDate>
			<description><![CDATA[

¿´µ½ÍøÉÏÒ»Æ¬ÎÄÕÂ£¬×Ô¼ºÊ½ÁËÒ»ÏÂ£¬¹ûÈ» XMLTextReaderËÙ¶ÈÒª¿ì£¡

ÔÚ.NET¿ò¼ÜµÄSystem.XMLÃû³Æ¿Õ¼äÖÐ°üº¬µÄXMLTextReaderÀà²»ÐèÒª¶ÔÏµÍ³×ÊÔ´ÒªÇóºÜ¸ß£¬¾ÍÄÜ´ÓXMLÎÄ¼þÖÐ¿ìËÙ¶ÁÈ¡Êý¾Ý¡£Ê¹ÓÃXMLTextReaderÀàÄÜ¹»´ÓXMLÎÄ¼þÖÐ¶ÁÈ¡Êý¾Ý£¬²¢ÇÒ½«Æä×ª»»ÎªHTML¸ñÊ½ÔÚä¯ÀÀÆ÷ÖÐÊä³ö¡£ 
&nbsp;

¡¡¡¡¶Á±¾ÎÄÖ®Ç°£¬¶ÁÕßÐèÒªÁË½âÒ»Ð©»ù±¾ÖªÊ¶£ºXML¡¢HTML¡¢C#±à³ÌÓïÑÔ£¬ÒÔ¼°.NETÓÈÆäÊÇASP.NET¿ò¼ÜµÄÒ»Ð©ÖªÊ¶¡£

¡¡¡¡Î¢Èí¹«Ë¾µÄ.NET¿ò¼ÜÎª¿ª·¢ÕßÌá¹©ÁËÐí¶à¿ª·¢µÄ±ãÀû£¬Ëæ×ÅXMLµÄÖØÒªÐÔ²»¶ÏÔö³¤£¬¿ª·¢ÕßÃÇ¶¼ÆÚ´ý×ÅÓÐÒ»ÕûÌ×¹¦ÄÜÇ¿´óµÄXML¹¤¾ß±»¿ª·¢³öÀ´¡£.NET¿ò¼ÜÃ»ÓÐ¹¼¸ºÎÒÃÇµÄÕâ·¬ÆÚÍû£¬ÔÚSystem.XML Ãû³Æ¿Õ¼äÖÐ×éÖ¯½øÁËÒÔÏÂ¼¸¸öÓÃÓÚXMLµÄÀà£º

¡¡¡¡XMLTextReader------Ìá¹©ÒÔ¿ìËÙ¡¢µ¥Ïò¡¢ÎÞ»º³åµÄ·½Ê½´æÈ¡XMLÊý¾Ý¡££¨µ¥ÏòÒâÎ¶×ÅÄãÖ»ÄÜ´ÓÇ°Íùºó¶ÁÈ¡XMLÎÄ¼þ£¬¶ø²»ÄÜÄæÏò¶ÁÈ¡£©

¡¡¡¡XMLValidatingReader------ÓëXMLTextReaderÀàÒ»ÆðÊ¹ÓÃ£¬Ìá¹©ÑéÖ¤DTD¡¢XDRºÍXSD¼Ü¹¹µÄÄÜÁ¦¡£

¡¡¡¡XMLDocument------×ñÑ­W3CÎÄµµ¶ÔÏóÄ£ÐÍ¹æ·¶µÄÒ»¼¶ºÍ¶þ¼¶±ê×¼£¬ÊµÏÖXMLÊý¾ÝËæ»úµÄ¡¢ÓÐ»º´æµÄ´æÈ¡¡£Ò»¼¶Ë®Æ½°üº¬ÁËDOMµÄ×î»ù±¾µÄ²¿·Ö£¬¶ø¶þ¼¶Ë®Æ½Ôö¼Ó¶àÖÖ¸Ä½ø£¬°üÀ¨Ôö¼ÓÁË¶ÔÃû³Æ¿Õ¼äºÍ¼¶Á¬×´Í¼±í(CSS)µÄÖ§³Ö¡£

¡¡¡¡XMLTextWriter------Éú³É×ñÑ­ W3C XML 1.0 ¹æ·¶µÄXMLÎÄ¼þ¡£

¡¡¡¡±¾ÎÄÖ÷Òª½²ÊöµÄÊÇµÚÒ»¸öÀàXMLTextReader£¬Õâ¸öÀàÉè¼ÆµÄÄ¿µÄ¾ÍÊÇ´ÓXMLÎÄ¼þÖÐ¿ìËÙµÄ¶ÁÈ¡Êý¾Ý£¬¶ø¶ÔÏµÍ³×ÊÔ´£¨Ö÷Òª°üÀ¨ÄÚ´æºÍ´¦ÀíÆ÷Ê±¼ä£©²»×öºÜ¸ßµÄÒªÇó¡£ÔÚ¸¸¼¶³ÌÐòµÄ¿ØÖÆÏÂ£¬ËüÍ¨¹ýÃ¿´ÎÖ»´¦ÀíÒ»¸ö½ÚµãµÄ·½Ê½¶ÔXMLÎÄ¼þ½øÐÐÖð²½²Ù×÷£¬ÊµÏÖÕâÖÖ¹¤×÷¹ý³Ì¡£ÔÚXMLÎÄ¼þµÄÃ¿¸ö½ÚµãÖÐ£¬¸¸¼¶³ÌÐòÄÜ¾ö¶¨¸Ã½ÚµãµÄÀàÐÍ£¬ËüµÄÊôÐÔºÍÊý¾Ý£¨Èç¹ûÓÐµÄ»°£©£¬ÒÔ¼°ÆäËûÓÐ¹Ø¸Ã½ÚµãµÄÐÅÏ¢¡£»ùÓÚÕâÐ©ÐÅÏ¢£¬¸¸¼¶³ÌÐò¿ÉÒÔÑ¡ÔñÊÇ´¦ÀíÕâ¸ö½Úµã»¹ÊÇºöÂÔ¸Ã½ÚµãµÄÐÅÏ¢£¬ÒÔÂú×ã¸÷ÖÖÓ¦ÓÃ³ÌÐòÇëÇóµÄÐèÒª¡£Õâ±»³ÆÎª³éÈ¡Ê½£¨pull£©´¦ÀíÄ£ÐÍ£¬ÒòÎª¸¸¼¶³ÌÐò·¢³öÇëÇó²¢ÇÒ´ÓXMLÎÄ¼þÖÐ³éÈ¡¸÷¸ö½Úµã£¬È»ºó¸ù¾ÝÐèÒª´¦ÀíËü»òÕßÊÇ²»´¦ÀíËü¡£
¡¡¡¡ÎÒÃÇ¿ÉÒÔ°ÑXMLTextReaderÀàºÍXML¼òµ¥Ó¦ÓÃ³ÌÐò½Ó¿Ú£¬¼´SAXÏà±È£¬ºóÕßÊÇÔÚ±à³ÌÈËÔ±ÖÐ·Ç³£Á÷ÐÐµÄÁíÒ»ÖÖ¶ÁÈ¡XMLÊý¾ÝµÄ¼¼Êõ¡£XMLTextReader ºÍSAXÓÐÒ»µãºÜÏàËÆ£¬ËüÃÇ¶¼²»ÐèÒªÕ¼ÓÃºÜ¶àµÄÏµÍ³×ÊÔ´£¬¾ÍÄÜÑ¸ËÙµÄ´ÓXMLÎÄ¼þ¶ÁÈ¡Êý¾Ý¡£µ«ÊÇ£¬ÓëXMLTextReaderµÄ³éÈ¡Ê½Ä£ÐÍåÄÈ»²»Í¬£¬SAXÊ¹ÓÃµÄÊÇÍÆÈëÊ½Ä£ÐÍ£ºXML´¦ÀíÆ÷Í¨¹ý ¡°ÊÂ¼þ¡±¸æÖªÖ÷»úÓ¦ÓÃ³ÌÐòÄÄÐ©½ÚµãÊý¾ÝÊÇ¿ÉÒÔ»ñµÃ£¬ÄÇÐ©²»ÄÜ»ñµÃ£»¸ù¾ÝÐèÒª£¬Ö÷»ú³ÌÐòÔò×÷³öÏàÓ¦µÄ·´Ó¦»òÖÃÖ®²»Àí¡£»»¾ä»°Ëµ£¬Êý¾ÝµÄ´«ËÍ·½ÏòÊÇ´ÓSAX´¦Àí³ÌÐòÖÐÍÆÈëµ½Ö÷»ú¡£³ÌÐòÔ±ÃÇÊÆ±Ø»áÔÚ³éÈ¡Ê½ºÍÍÆÈëÊ½´¦ÀíÄ£ÐÍË­¸üÓÐÓÅÊÆµÄÎÊÌâÉÏÕùÂÛÒ»·¬£¬µ«ÊÇ´ó¼Ò¶¼²»¿É·ñÈÏµÄÊÇ£¬Á½ÖÖÄ£ÐÍ¶¼ÄÜºÜºÃµÄ½øÐÐ¹¤×÷¡£.NET ¿ò¼Ü²»Ö§³ÖSAX£¬µ«ÊÇÄãÄÜÊ¹ÓÃÏÖ´æµÄSAX¹¤¾ß, ÀýÈç MSXML·ÖÎöÆ÷£¬ÓÃÓÚÄãµÄ.NET ³ÌÐò¡£

¡¡¡¡XMLTextReader ÀàÓÐÒ»Ð©¹¹Ôì³ÌÐòÀ´ÊÊÓ¦¸÷ÖÖ¸÷ÑùµÄÇé¿ö£¬±ÈÈç´ÓÒ»¸öÒÑ¾­´æÔÚµÄÊý¾ÝÁ÷»òÍ³Ò»×ÊÔ´¶¨Î»ÍøÖ·¶ÁÈ¡Êý¾Ý¡£×î³£¼ûµÄÊÇ£¬Äã»òÐíÏë´ÓÒ»¸öÎÄ¼þ¶ÁÈ¡XMLÊý¾Ý£¬ÄÇÃ´Ò²¾ÍÓÐÒ»¸öÏàÓ¦µÄ¹¹Ôì³ÌÐòÀ´Îª´Ë·þÎñ¡£ÕâÀïÓÐÒ»¸öÀý×Ó£¨ÎÒµÄËùÓÐ´úÂëÀý×Ó¶¼Ê¹ÓÃµÄÊÇC#ÓïÑÔ£¬Èç¹ûÄãÏ²»¶Ê¹ÓÃVISUAL BASICÓïÑÔ£¬ËüÃÇ×ª»»ÆðÀ´ºÜÈÝÒ×£©¡£

XMLTextReader myReader;
myReader = New XMLTextReader("c:datasales.XML") 

¡¡¡¡´´½¨Ò»¸ö³ÆÎªRead()·½·¨µÄÑ­»·£¬Õâ¸ö·½·¨µÄ·µ»ØÖµ×ÜÊÇÎªÕæ£¬Ö±µ½µ½´ïÎÄ¼þµÄµ×²¿Ê±£¬·µ»ØÖµ²Å±äÎª¼Ù¡£»»¾ä»°Ëµ, Ñ­»·ÔÚÎÄ¼þµÄ¿ªÊ¼Ê±Æô¶¯²¢ÇÒ¶ÁÈëËùÓÐµÄ½Úµã, Ò»´Î¶ÁÈëÒ»¸ö½Úµã, Ö±µ½µ½´ïÎÄ¼þµÄ½áÎ²£º

While (myReader.Read()) {
...
// ÔÚÕâÀï´¦ÀíÃ¿¸ö½Úµã.
...
} 

¡¡¡¡Ã¿´Î³É¹¦µ÷ÓÃRead()Ö®ºó£¬XMLTextReaderÊµÀý»¯³ÌÐò°üº¬ÁËÄ¿Ç°½Úµã£¨¼´¸Õ¸Õ´ÓÎÄ¼þÖÐ¶ÁÈ¡µÄÄÇ¸ö½Úµã£©µÄÐÅÏ¢¡£ÎÒÃÇ¿ÉÒÔ´ÓXMLTextReaderµÄ³ÉÔ±ÖÐ»ñµÃÉÏÊöÐÅÏ¢£¬¾ÍÏñ±í¸ñ1ÖÐÃèÊöµÄÒ»Ñù£»²¢Í¨¹ýNodeTypeÊôÐÔÅÐ¶Ï³öµ±Ç°½ÚµãµÄÀàÐÍ¡£ÔÚ½ÚµãÀàÐÍµÄ»ù´¡ÉÏ£¬³ÌÐòµÄ´úÂë¿ÉÒÔ¶ÁÈ¡½ÚµãÊý¾Ý£¬¼ì²éËüÊÇ·ñÓÐÊôÐÔ£¬µ½µ×ÊÇºöÂÔËü»¹ÊÇ¸ù¾Ý³ÌÐòÐèÒª½øÐÐÏàÓ¦µÄ²Ù×÷ºÍ´¦Àí¡£

¡¡¡¡µ±Ê¹ÓÃNodeTypeÊôÐÔÊ±£¬Àí½â½ÚµãÔõÃ´ÁªÏµµ½XMLµ¥ÔªÊÇ·Ç³£ÖØÒªµÄ¡£ÀýÈç, ¿´ÏÂÁÐ XMLÔªËØ£º

£¼city£¾Chongqing£¼/city£¾ 

¡¡¡¡XMLtextReader °ÑÕâ¸öÔªËØ¿´×÷ 3 ¸ö½Úµã£¬Ë³ÐòÈçÏÂ£º

¡¡¡¡1£®£¼city£¾±êÇ©±»¶ÁÎªÀàÐÍ XMLNodeType.Element ½Úµã£¬ÔªËØµÄÃû×Ö¡°city¡±¿É´Ó XMLTextReader µÄNameÊôÐÔÖÐ»ñµÃ¡£

¡¡¡¡2£®ÎÄ±¾Êý¾Ý¡°Chongqing¡±±»¶ÁÎªÀàÐÍÎªXMLNodeType.TextµÄ½Úµã¡£Êý¾Ý¡°Chongqing ¡± ¿É´ÓXMLTextReader µÄValueÊôÐÔÖÐÈ¡µÃ¡£

¡¡¡¡3£®£¼/city£¾±êÇ©±»¶ÁÎªÀàÐÍÎªXMLNodeType.EndElement ½Úµã¡£Í¬Ñù£¬ÔªËØµÄÃû³Æ¡°city¡±¿É´ÓXMLTextReaderµÄNameÊôÐÔÖÐ»ñµÃ¡£

¡¡¡¡ÕâÊÇ 3 ÖÖÖØÒªµÄ½ÚµãÀàÐÍ£¬ÆäËüµÄÀàÐÍÔÚ.NETµÄËµÃ÷ÎÄµµÖÐÓÐÏêÏ¸ËµÃ÷£¬Çë´ó¼Ò²ÎÔÄÏà¹Ø×ÊÁÏ¡£

¡¡¡¡Èç¹ûXMLTextReaderÓöµ½Ò»¸ö´íÎó, ÀýÈç³öÏÖÎ¥·´XML¾ä·¨µÄÇé¿ö£¬ËüÅ×³öÒ»¸öSystem.XML.XMLExceptionÀàÐÍµÄÒì³£¡£Ê¹ÓÃÕâ¸öÀàµÄ´úÂëÓ¦¸Ã×ÜÊÇ±»±£»¤ ( ÔÚTry¡­¡­Catch¿éÖÐ)£¬¾ÍÏñÄãÒÔºóÔÚÑÝÊ¾³ÌÐòÖÐ¿´µ½µÄÒ»Ñù¡£
¡¡¡¡±¾ÎÄÖ»ÊÇÒ»ÆªÏàµ±¼òµ¥µÄ½éÉÜXMLTextReader ÀàµÄÎÄÕÂ£¬XMLTextReaderÀàÓÐÏàµ±¶àµÄ³ÉÔ±£¬ÔÚÕâÀï²»¿ÉÄÜÒ»Ò»Êö¼°¡£µ±¶ÁÈëXMLÊý¾ÝÊ±£¬XMLTextReaderÄÜÌá¹©Ïàµ±Ç¿µÄÁé»îÐÔ¡£¼´±ãÈç´Ë£¬ÎÒÈÔÈ»½øÐÐÁË´óÁ¿µÄÂÛÊö£¬ÒÔ±£Ö¤¶ÁÕßÄÜ±àÖÆ³ÌÐòÀ´ÊµÏÖÏÖÊµÊÀ½çÖÐ¾­³£ÒªÇóÍê³ÉµÄÈÎÎñ£¬Ò²¾ÍÊÇ´ÓÒ»¸öXMLÎÄ¼þ¶ÁÈ¡Êý¾ÝÈ»ºóÒÔHTMLµÄ¸ñÊ½Êä³ö£¬´Ó¶øÊµÏÖÔÚä¯ÀÀÆ÷ÖÐµÄÏÔÊ¾¡£

¡¡¡¡Õâ¸öASP.NET³ÌÐò(½Å±¾)ÔÚ·þÎñÆ÷ÉÏÔËÐÐ²¢²úÉúÒ»¸öHTMLÒ³Ãæ·µ»Øä¯ÀÀÆ÷¡£Õâ¶Î½Å±¾³ÌÐòÔÚ´úÂë¶Î 1 ¸ø³ö£¬ËüÓÃÀ´¹¤×÷Ê¹ÓÃµÄ XML Êý¾ÝÎÄ¼þÔÚ´úÂë¶Î 2¸ø³ö¡£ÄãÄÜ¿´µ½Õâ¸ö XML ÎÄ¼þ°üº¬Ò»·Ý±íÊ¾ÁªÏµ¹ØÏµµÄÁÐ±í£»³ÌÐòµÄÄ¿±ê¼´ÊÇ½«Õâ¸öÁÐ±íÏÔÊ¾³öÀ´£¬ÎªÁË¸üÈÝÒ×ÎÒÃÇ¹Û²ì£¬ÕâÐ©ÁÐ±íÒÑ¾­±»¸ñÊ½»¯ÁË¡£

¡¡¡¡ÔËÐÐ³ÌÐò£º

¡¡¡¡1£® ½«´úÂë¶Î1´æÎªXMLTextReader.ASPxÎÄ¼þ£¬½«´úÂë¶Î2´æÎªXMLData.XMLÎÄ¼þ¡£

¡¡¡¡2£® °ÑÕâÁ½¸öÎÄ¼þ¶¼·ÅÔÚÒ»¸öÒÑ¾­°²×°ºÃ.NET ¿ò¼ÜµÄÍøÂç·þÎñÆ÷µÄÐéÄâÎÄ¼þ¼ÐÖÐ¡£

¡¡¡¡3£® ´ò¿ª Internet Explorer ²¢ÇÒä¯ÀÀÕâ¸öASPxÎÄ¼þ£¬ÀýÈç£¬ÔÚÒ»¸ö¾ÖÓòÍø·þÎñÆ÷ÉÏ, URL ½«ÊÇ http://localhost/xmltextreader.ASPx ;¡£

¡¡¡¡³ÌÐò¹¤×÷µÄ´ó²¿·Ö¶¼ÓÉXMLDisplay ÀàÀ´×ö,ÓÈÆäÊÇ±»ProcessXML()·½·¨Íê³ÉµÄ¡£ËüÃ¿´Î¶ÁÈ¡Ò»¸ö½ÚµãXMLÊý¾Ý£¬¶ÔÓÚ¸ÐÐËÈ¤µÄÔªËØ£¬½ÚµãÊý¾ÝºÍºó¸úÃ°ºÅµÄ½ÚµãÃû½«ºÍÏàÓ¦µÄHTML¸ñÊ½»¯±êÇ©Ò»ÆðÐ´ÈëÊä³ö½á¹ûÖÐ¡£ÔÚÕâ½×¶Î£¬¡°Êä³ö½á¹û¡±ÓÉÒ»¸öHTMLÎÄ±¾ÔÝÊ±´¢´æÔÚÆäÖÐµÄStringBuilder¶ÔÏó¹¹³É¡£

¡¡¡¡ProcessXML()·½·¨ÊÇ´ÓLoadDocument()·½·¨µ÷ÓÃµÄ¡£Õâ¸ö·½·¨Ö´ÐÐµÄÈÎÎñÊÇ²úÉúÒ»¸öXMLTextReaderÊµÀý»¯³ÌÐò²¢ÔÚµ÷ÓÃProcessXMLÖ®Ç°×°ÔØXMLÎÄ¼þ¡£ËüÍ¬Ê±Ò²´¦ÀíÒì³££¬Ëæºó²úÉú´íÎóµÄÐÅÏ¢²¢ÔÚä¯ÀÀÆ÷ÖÐÏÔÊ¾³öÀ´¡£×îÖÕ¸Ã·½·¨·µ»ØÒ»¸ö×Ö·û´®£¬Õâ¸ö×Ö·û´®»òÕß°üº¬²úÉúµÄHTMLÄÚÈÝ£¬»òÕßÈç¹ûÒì³£·¢ÉúµÄ»°¾Í°üº¬³ö´íÐÅÏ¢£¬¡£

¡¡¡¡³ÌÐòÖ´ÐÐÒÔPage_Load()³ÌÐò¿ªÊ¼£¬µ±ä¯ÀÀÆ÷ÇëÇóä¯ÀÀÕâ¸öÒ³ÃæÊ±£¬ÕâÒ»²½»á×Ô¶¯Ö´ÐÐ¡£ÕâÀïµÄ´úÂëÊµÀý»¯ÁËXMLDisplay Àà²¢µ÷ÓÃËüµÄLoadDocument()·½·¨¡£Èç¹ûÒ»ÇÐÔËÐÐÕý³£µÄ»°£¬¸ñÊ½»¯µÄHTMLÐÎÊ½µÄ·µ»ØÖµ½«±»¿½±´µ½Ò³ÃæµÄÒ»¸ö£¼div£¾±êÇ©ÖÐ£¬Éú³ÉµÄHTMLÎÄµµ±»ËÍ»Øµ½ä¯ÀÀÆ÷ÖÐ²¢ÏÔÊ¾³öÀ´¡£

¡¡¡¡ÆäËûµÄ.NET ¿ò¼ÜµÄÀà£¬±ÈÈçXMLDocumentÀàÔÚ¶ÁÈ¡XMLÊý¾Ý·½Ãæ±íÏÖÈçºÎÄØ£¿XMLDocument ÀàÓëXMLTextReader Àà²»Í¬£¬ËüÔÚ´æ´¢Æ÷ÖÐ´´½¨Õû¸öXMLÎÄµµµÄ½ÚµãÊ÷¡£ÕâÑù¾Í¿ÉÒÔËæ»úµÄ»ñµÃXMLÊý¾Ý£¨ÓëXMLTextReader Àà»ñµÃÊý¾ÝµÄÏßÐÔ·½Ê½ÕýºÃÏà·´£©£¬²¢ÇÒÔÚÐÞ¸ÄXMLÎÄ¼þµÄÊý¾ÝºÍ½á¹¹Ê±£¬¾ßÓÐ·Ç³£ÍêÃÀµÄÁé»îÐÔ¡£ÁíÍâ,XMLDocumentÔÊÐíÖ´ÐÐXSLT ×ª±ä£¬²»¹ý£¬ÕâÐ©¶îÍâµÄ¹¦ÄÜÊÇÒÔÔËÐÐËÙ¶ÈµÄ½µµÍºÍÏµÍ³×ÊÔ´µÄ¸ü¶àÕ¼ÓÃÎª´ú¼ÛµÄ¡£

¡¡¡¡´úÂë¶Î1£ºXmlTextReader.aspx

£¼%@ Import Namespace="System.Xml" %£¾

£¼script language="C#" runat=server£¾

public class XmlDisplay
file://Õâ¸öÀà¶ÁÈë²¢´¦ÀíXMLÎÄ¼þ¡£
{

public string LoadDocument(String XmlFileName) {
XmlTextReader xmlReader = null;
StringBuilder html = new StringBuilder();
try {
file://´´½¨XMLTextReaderµÄÊµÀý¡£
xmlReader = new XmlTextReader(XmlFileName);
// ´¦ÀíXMLÎÄ¼þ
html.Append(ProcessXml(xmlReader));
}
catch (XmlException ex){
html.Append("·¢ÉúÒ»¸öXMLÒì³££º" + 
ex.ToString());
} 
catch (Exception ex){
html.Append("·¢ÉúÒ»¸öÆÕÍ¨Òì³££º" + 
ex.ToString());
} 
finally 
{
if (xmlReader != null)
xmlReader.Close();
}
return html.ToString();
}

private string ProcessXml(XmlTextReader xmlReader) 
{
StringBuilder temp = new StringBuilder();

file://Õâ¸ö·½·¨¶ÁÈëXMLÎÄ¼þ²¢Éú³ÉÊä³öµÄHTMLÎÄµµ¡£
while ( xmlReader.Read() ) 
{
// ´¦ÀíÒ»¸öÔªËØ½ÚµãµÄÆðÊ¼¡£
if (xmlReader.NodeType == XmlNodeType.Element) 
{ 
file://ºöÂÔ£¼people£¾ºÍ£¼person£¾ÔªËØ
if ((xmlReader.Name != "person") &amp;&amp; (xmlReader.Name != "people")) 
{
file://Èç¹ûÊÇÒ»¸ö£¼category£¾ÔªËØ£¬¿ªÊ¼Ò»¸öÐÂµÄ¶ÎÂä
if ( xmlReader.Name == "category" )
temp.Append("£¼p£¾");
file://Ìí¼ÓÔªËØÃûµ½Êä³öÖÐ
temp.Append( xmlReader.Name + ": " );
}
}
// ´¦ÀíÎÄ±¾½Úµã
else if (xmlReader.NodeType == XmlNodeType.Text) 
temp.Append(xmlReader.Value + "£¼br£¾");
file://´¦ÀíÔªËØ½ÚµãµÄ½áÎ²
else if (xmlReader.NodeType == XmlNodeType.EndElement) 
{
file://Èç¹ûÊÇ£¼email£¾½Úµã£¬Ìí¼Ó½áÊø¶ÎÂäµÄ±ê¼Ç
if ( xmlReader.Name == "email" ) 
temp.Append("£¼/p£¾"); 
} 
}//½áÊøwhileÑ­»·

return temp.ToString();

} file://½áÊøProcessXML·½·¨

} file://½áÊøXmlDisplayÀà

private void Page_Load(Object sender, EventArgs e){
file://´´½¨XmlDisplayÀàµÄÊµÀý
XmlDisplay XmlDisplayDemo = new XmlDisplay();
output.InnerHtml = XmlDisplayDemo.LoadDocument(Server.MapPath("XMLData.xml"));
}
£¼/script£¾
£¼html£¾
£¼head£¾
£¼/head£¾
£¼body£¾
£¼h2£¾ÑÝÊ¾XmlTextReaderÀà£¼/h2£¾
£¼div id="output" runat="server"/£¾
£¼/body£¾
£¼/html£¾

&nbsp;1&nbsp;&nbsp;&nbsp; static void Main(string[] args)
&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateTime d1 =DateTime.Now;
&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDocumentTest();
&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateTime d2 =DateTime.Now;
&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeSpan ts =d2-d1 ;
&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(ts.TotalMilliseconds) ;&nbsp;&nbsp;&nbsp; 
&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Read() ;
10
11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
12
13
14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static string XmlFileName = "../../XML/1.xml";
15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void XmlTextReaderTest()
17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlTextReader reader = new XmlTextReader(XmlFileName);
19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (reader.Read() )
20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool exit =false;
22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(reader.NodeType)
23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case XmlNodeType.Element :
25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case XmlNodeType.Text :
27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (reader.Value=="last")
28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit=true;
30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case XmlNodeType.EndElement&nbsp; :
33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:
35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;
36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(exit)
38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;
40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
42
43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
45
46&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static void XmlDocumentTest()
47&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
48&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDocument xd =new XmlDocument() ;
49&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xd.Load(XmlFileName) ;
50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNode node = xd.SelectSingleNode("/people/person[category='last']"); 
51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.Write(node.Name) ; 
52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
]]></description>
		</item>
		<item>
			<title>´ÓxmlÖÐ»ñÈ¡³ÇÊÐ£¬Ê¡·ÝÃû³Æ</title>
			<link>http://www.kingmx.com/article.php?id=13022</link>
			<pubDate>2006-10-25</pubDate>
			<description><![CDATA[

×î½üÃ»ÊÂ£¬Ð´ÁË¸öÔÚÏîÄ¿¾­³£ÒªÈ¡³ÇÊÐ»òÊ¡·ÝÃûµÄ·½·¨£¬ËùÒÔ¸Ä³ÉÁËÒ»¸öÀà£®·½±ãÒÔºóµ÷ÓÃ
//*****************************
//&nbsp;&nbsp;&nbsp; ¹¦ÄÜÃèÊö£º´ÓxmlÖÐ»ñÈ¡Êý¾Ý
//&nbsp;&nbsp;&nbsp; °æ±¾±àºÅ£ºowendu V1.1
//&nbsp;&nbsp;&nbsp; ³õÊ¼´´½¨£º 2006.08.27
//&nbsp;&nbsp;&nbsp; ×îºóÐÞ¸Ä£º 2006.10.08
//*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//*****************************

//¸ù¾Ýcityid£¬»ñÈ¡·µ»Øcityname&nbsp;&nbsp; ---------------xmlurl Ö¸µÄÊÇÕû¸öÕ¾µãµÄÂ·Õ÷
//Ò³Ãæµ÷ÓÃ·½Ê½ÈçÏÂ£º&lt;script language=javascript&gt;GetCityName("&lt;%=cityid%&gt;","&lt;%=System.Configuration.ConfigurationSettings.AppSettings["LocalSiteURL"]%&gt;")&lt;/script&gt;
function GetCityName(cityid,xmlurl)
{
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDoc_city.async=false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDoc_city.validateOnParse=false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Url=xmlurl+"XmlData/city.xml";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDoc_city.load(Url);
&nbsp;&nbsp;&nbsp; 
&nbsp; //
&nbsp;&nbsp;&nbsp; if (XmlDoc_city.readyState == 4 &amp;&amp; XmlDoc_city.xml != "")
&nbsp; {
&nbsp; 
&nbsp;&nbsp; var city;
&nbsp;&nbsp; var cities = XmlDoc_city.documentElement.selectNodes("city");
&nbsp;&nbsp; 
&nbsp;&nbsp; for (var i=0; i &lt; cities.length; i++)
&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp; city = cities[i];
&nbsp;&nbsp;&nbsp; if (city.getAttribute("cityid") == cityid)
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp; document.write(city.getAttribute("cityname"));
&nbsp;&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp;&nbsp; } 
&nbsp;&nbsp;&nbsp;&nbsp; //obj2.options[obj2.length] = new Option(city.getAttribute("cityname"),city.getAttribute("cityid"));
&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp; // else
&nbsp;&nbsp;&nbsp; // {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //alert('ÄúµÄä¯ÀÀÆ÷²»Ö§³ÖxmlÎÄ¼þ¶ÁÈ¡,ÓÚÊÇ±¾Ò³Ãæ½ûÖ¹ÄúµÄ²Ù×÷,ÍÆ¼öÊ¹ÓÃIE5.0ÒÔÉÏ¿ÉÒÔ½â¾ö´ËÎÊÌâ!');
&nbsp;&nbsp;&nbsp; // }
}

//¸ù¾ÝÊ¡·Ýid£¬»ñÈ¡·µ»ØÊ¡Ãû&nbsp;&nbsp; ---------------xmlurl Ö¸µÄÊÇÕû¸öÕ¾µãµÄÂ·Õ÷ 
function GetProviceName(pid,xmlurl)
{
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp; XmlDoc_city.async=false;
&nbsp;&nbsp;&nbsp; XmlDoc_city.validateOnParse=false;
&nbsp;&nbsp;&nbsp; var Url=xmlurl+"XmlData/province.xml";
&nbsp;&nbsp;&nbsp; XmlDoc_city.load(Url);&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; if(XmlDoc_city.readyState == 4 &amp;&amp; XmlDoc_city.xml != "")
&nbsp;{ 
&nbsp; var city;
&nbsp; var cities = XmlDoc_city.documentElement.selectNodes("province");
&nbsp; 
&nbsp; for (var i=0; i &lt; cities.length; i++)
&nbsp; {
&nbsp;&nbsp; city = cities[i];
&nbsp;&nbsp; if (city.getAttribute("provinceid") == pid)
&nbsp;&nbsp; {&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; document.write(city.getAttribute("provincename"));
&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; }
&nbsp;} 
}

//¸ù¾ÝµØÇødistrictid£¬»ñÈ¡·µ»ØµØÇøÃû&nbsp;&nbsp; ---------------xmlurl Ö¸µÄÊÇÕû¸öÕ¾µãµÄÂ·Õ÷ 
function GetProviceName(districtid,xmlurl)
{
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp; XmlDoc_city.async=false;
&nbsp;&nbsp;&nbsp; XmlDoc_city.validateOnParse=false;
&nbsp;&nbsp;&nbsp; var Url=xmlurl+"XmlData/district.xml";
&nbsp;&nbsp;&nbsp; XmlDoc_city.load(Url);&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; if(XmlDoc_city.readyState == 4 &amp;&amp; XmlDoc_city.xml != "")
&nbsp;{ 
&nbsp; var city;
&nbsp; var cities = XmlDoc_city.documentElement.selectNodes("district");
&nbsp; 
&nbsp; for (var i=0; i &lt; cities.length; i++)
&nbsp; {
&nbsp;&nbsp; city = cities[i];
&nbsp;&nbsp; if (city.getAttribute("districtid") == pid)
&nbsp;&nbsp; {&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; document.write(city.getAttribute("districtname"));
&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; }
&nbsp;} 
}

//¸ù¾ÝÊ¡·Ýid£¬³ÇÊÐid,µØÇø£¨ÏØ£©id£¬»ñÈ¡·µ»ØÊ¡³ÇÊÐÃûµØÇøÃû&nbsp;&nbsp; ---------------xmlurl Ö¸µÄÊÇÕû¸öÕ¾µãµÄÂ·Õ÷ 
function GetName(pid,cityid,districtid ,xmlurl)
{
&nbsp;&nbsp; var cityname="";
&nbsp;&nbsp; var provicename="";
&nbsp;&nbsp; var districtname="";
&nbsp;&nbsp;&nbsp; //
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; var XmlDoc_p = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp; XmlDoc_p.async=false;
&nbsp;&nbsp;&nbsp; XmlDoc_p.validateOnParse=false;
&nbsp;&nbsp;&nbsp; var UrlProvice=xmlurl+"XmlData/province.xml";
&nbsp;&nbsp;&nbsp; XmlDoc_p.load(UrlProvice);&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; //
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp; XmlDoc_city.async=false;
&nbsp;&nbsp;&nbsp; XmlDoc_city.validateOnParse=false;
&nbsp;&nbsp;&nbsp; var Urlcity=xmlurl+"XmlData/city.xml";
&nbsp;&nbsp;&nbsp; XmlDoc_city.load(Urlcity);&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; //
&nbsp;&nbsp;&nbsp; var XmlDoc_district = new ActiveXObject("MSXML2.DOMDocument.3.0");
&nbsp;&nbsp;&nbsp; XmlDoc_district.async=false;
&nbsp;&nbsp;&nbsp; XmlDoc_district.validateOnParse=false;
&nbsp;&nbsp;&nbsp; var Urldis=xmlurl+"XmlData/district.xml";
&nbsp;&nbsp;&nbsp; XmlDoc_district.load(Urldis);&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; // 
&nbsp;&nbsp;&nbsp; if(XmlDoc_p.readyState == 4 &amp;&amp; XmlDoc_p.xml != "")
&nbsp;{ 
&nbsp; var provice;
&nbsp; var provices = XmlDoc_city.documentElement.selectNodes("province");
&nbsp; 
&nbsp; for (var i=0; i &lt; provices.length; i++)
&nbsp; {
&nbsp;&nbsp; provice = provices[i];
&nbsp;&nbsp; if (provice.getAttribute("provinceid") == pid)
&nbsp;&nbsp; {&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; provicename=provice.getAttribute("provincename");
&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; }
&nbsp;}
&nbsp;
&nbsp; if(XmlDoc_city.readyState == 4 &amp;&amp; XmlDoc_city.xml != "")
&nbsp;{ 
&nbsp; var city;
&nbsp; var citys = XmlDoc_city.documentElement.selectNodes("city");
&nbsp; 
&nbsp; for (var i=0; i &lt; citys.length; i++)
&nbsp; {
&nbsp;&nbsp; city = citys[i];
&nbsp;&nbsp; if (city.getAttribute("cityid") == cityid)
&nbsp;&nbsp; {&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cityname=city.getAttribute("cityname");
&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; }
&nbsp;}
&nbsp;
&nbsp; if(XmlDoc_district.readyState == 4 &amp;&amp; XmlDoc_district.xml != "")
&nbsp;{ 
&nbsp; var district;
&nbsp; var districts = XmlDoc_district.documentElement.selectNodes("district");
&nbsp; 
&nbsp; for (var i=0; i &lt; districts.length; i++)
&nbsp; {
&nbsp;&nbsp; district = districts[i];
&nbsp;&nbsp; if (district.getAttribute("districtid") == districtid)
&nbsp;&nbsp; {&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; districtname=district.getAttribute("districtname");
&nbsp;&nbsp;&nbsp; break;
&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; }
&nbsp;}
&nbsp;var name=provicename+" "+cityname+" "+ districtname;
&nbsp;document.write(name);
&nbsp; 
}

http://www.cnblogs.com/owendu/archive/2006/10/16/530580.html
]]></description>
		</item>
		<item>
			<title>ÈçºÎ¶ÁÈ¡XMLÎÄ¼þÄÚÈÝ</title>
			<link>http://www.kingmx.com/article.php?id=12975</link>
			<pubDate>2006-10-24</pubDate>
			<description><![CDATA[

ÏÂÃæÊÇÍ¨¹ý¶ÁÈ¡xmlÎÄ¼þÖÐµÄÄÚÈÝ²¢ÏÔÊ¾ÔÚtextboxµÄÀý×Ó£º

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.XPath;

public partial class _Default : System.Web.UI.Page
{
&nbsp;&nbsp;&nbsp; public string[] x = new string[4];
&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)
&nbsp;&nbsp;&nbsp; {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDocument xmlDoc = new XmlDocument();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.Load(Server.MapPath("table.xml"));//ÄãµÄxmlÎÄ¼þ
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNodeList xmlList = xmlDoc.SelectSingleNode("MapSheet").ChildNodes;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (XmlNode xmlNo in xmlList)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //XmlNodeList xe = (XmlNodeList)xmlNo;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement xe = (XmlElement)xmlNo;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (xe.Name == "TableName")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y[0] = xe.InnerText;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (xe.Name == "DataSource")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y[1] = xe.InnerText;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (xe.Name == "UserName")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y[2] = xe.InnerText;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (xe.Name == "Password")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y[3] = xe.InnerText;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBox1.Text=y[0];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBox2.Text = y[1];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBox3.Text = y[2];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBox4.Text = y[3];
&nbsp;&nbsp;&nbsp; }

}¸Ã³ÌÐòÒÑ¾­¹ý²âÊÔ£¬Ã»ÓÐÎÊÌâ¡£

http://www.cnblogs.com/support/archive/2006/10/21/535967.html
]]></description>
		</item>
		<item>
			<title>Ð´¸øXML³õÑ§ÕßµÄÒ»Ð©»°</title>
			<link>http://www.kingmx.com/article.php?id=12924</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡²î²»¶àÃ¿Ìì¶¼ÓÐÈËÎÊ¡°Ê²Ã´ÊÇ XML¡±£¬¡°XML ÄÜ×öÊ²Ã´¡±£¬¡°XML ÄÜ²»ÄÜÌæÎÒ×öÕâ¸ö¡±£¬ ¡°XML »áÈ¡´úÊ²Ã´¡± µÈµÈÖîÈç´ËÀàµÄÎÊÌâ¡£ÓÉÓÚ×î½üÒ»¶ÎÊ±¼äÉÔÎ¢¶Ô xml Ê¹ÓÃÁËÒ»ÏÂ£¬&nbsp; ÎÒÀ´Ì¸Ì¸×Ô¼ºµÄ¸Ð¾õ¡£ÕâÐ©¾­Ñé¶¼ºÜÇ³ÏÔ£¬ÈÎºÎÒ»¸öÓÃ¹ý xml µÄÈË¶¼ÓÐ£¬²¢ÇÒ¼ûÈÊ¼ûÖÇ£¬&nbsp;Ö»²»¹ýÎÒËã¸Õ¸Õ×ß¹ýÕâ¶ÎÂ·£¬¶Ô×Ô¼ºÒ»¿ªÊ¼µÄÀ§»ó£¬Îó½â»¹¼ÇµÃÇå£¬ËùÒÔÄÃ³öÀ´ºÍ´ó¼Ò·ÖÏíÒ»ÏÂ¡£ 
¡¡¡¡ÎÒ¾õµÃ³õÑ§Õß¿ÉÄÜ»á×ß½üµÄÎóÇø£º 
¡¡¡¡1. XML ÊÇ²»ÊÇ HTML µÄÈ¡´úÕß£¿ 
¡¡¡¡²»ÊÇ¡£Ð´µÃºÃµÄ html Ó¦¸ÃÊÇÒ»¸ö well-formed µÄ xml ÎÄµµ£¬ÆäËû·½Ãæ×îºÃ²»Òª°ÑËûÃÇ·ÅÔÚÒ»¸öË®Æ½ÏßÉÏ±È½Ï¡£ 
¡¡¡¡2. XML ÊÇ²»ÊÇÊý¾Ý¿âµÄÈ¡´úÕß£¿ 
¡¡¡¡²»ÊÇ¡£ 
¡¡¡¡3. XML ÊÇ²»ÊÇ...µÄÈ¡´úÕß£¿ 
¡¡¡¡¶¼²»ÊÇ¡£ 
¡¡¡¡Õâ¸ö½áÂÛ¿ÉÄÜÌýÉÏÈ¥ºÜ»¬»ü£ºXML ÊÇ·Ç³£·Ç³£ÖØÒªµÄ¶«Î÷£¬µ«ËüÊ²Ã´¶¼È¡´ú²»ÁË¡£ 
¡¡¡¡µ«Õâ²¢²»Ææ¹Ö£¬ÓÐÈË°ÑËü±È×ö ASCII ±ê×¼£¬ËûÃÇÊÇÒ»ÇÐÒ»ÇÐµÄ»ù´¡£¬µ«²¢Ã»ÓÐ£¨Ò²²»ÐèÒª£©È¡´úÊ²Ã´¡££¨µ«ÊÇ¾ÍÈçÍ¬ ASCII È¡´úÁËÒ»Ð©Ã»ÓÐ³É´óÆ÷µÄ×Ö·û¼¯¶¨Òå£¬XML Ò²»áÈ¡´úÄãÔÚÓ¦ÓÃÖÐ×Ô¼º¶¨ÒåµÄÒ»Ð©Êý¾Ý´«Êä¹æ·¶£¬µ«Ã»ÓÐÊ²Ã´ÌØ±ðÖ÷Á÷µÄ¶«Î÷¡££© 
¡¡¡¡¸Õ¿ªÊ¼Ñ§ XML £¨»òÕßËµÃ»¿ªÊ¼Ñ§Ö®Ç°£©µÄÊ±ºò×î°®ÎÊµÄÒ»¸öÎÊÌâ¿Ï¶¨ÊÇ£ºÊ¹ÓÃ XML ÄÜ¸øÎÒ´øÀ´Ê²Ã´ºÃ´¦£¿ 
¡¡¡¡ÎÒ¾õµÃ´ÓÄ³ÖÖ½Ç¶ÈÉÏËµ£¬Ê¹ÓÃ XML ÓÐÐ©ÏóÊ¹ÓÃ OO ÃæÏò¶ÔÏó£º 
&nbsp; ¡¡¡¡- Äã¿ÉÒÔÓÃËü£¬ÄãÒ²¿ÉÒÔ²»ÓÃËü¡£ 
&nbsp; ¡¡¡¡- Èç¹ûÄãµÄÓ¦ÓÃ·Ç³£¼òµ¥£¬ÓÃËü²»Ò»¶¨·½±ã£¬Ã»×¼¶ùÓÃÁËÐ§¹û»¹»á¸ü²î¡£ 
&nbsp; ¡¡¡¡- ºÍÆäËûÊµ¼Ê¶«Î÷±ÈÈçÊý¾Ý¿â£¬MTS£¬Web Server±ÈÆðÀ´£¬Ëü¸üÏñÊÇÒ»¸ö¸ÅÄî£¬Ò»ÖÖ·½·¨ 
&nbsp; ¡¡¡¡- ÏîÄ¿Ô½´ó£¬ËüµÄ·¢»ÓÓàµØÔ½´ó£¬×÷ÓÃÔ½´ó¡£ 
&nbsp; ¡¡¡¡- Ò»µ©ÕæÕýÀí½âºó£¬ÄÄÅÂ²»ÓÃ xml parser£¬Ò²²»·Á°­ÄãÊ¹ÓÃÕâ¸ö¸ÅÄî£¬ÈçÍ¬¿ÉÒÔÅ×¿ªÌØ¶¨ÓïÑÔÊ¹ÓÃ OO¡£ 
&nbsp; ¡¡¡¡- ...... 
&nbsp; ¡¡¡¡ºÃÏñ¸ü³éÏó£¬¸üÃ»Æ×¶ùÁË°É¡£ 
¡¡¡¡ÄÇ¾ÍËæ±ã¾Ù¸öÀý×Ó¡£±ÈÈçÄã±¾À´ÏëÔÚ bbs Ó¦ÓÃÖÐµÄÁ½¸öÄ£¿éÖ®¼ä´«Ò»Ð©Êý¾Ý£º 
&nbsp; ¡¡¡¡- ·¢ÑÔÈË 
&nbsp; ¡¡¡¡- ÃÜÂë 
&nbsp; ¡¡¡¡- ±êÌâ 
&nbsp; ¡¡¡¡- ÄÚÈÝ 
&nbsp; ¡¡¡¡Ê¹ÓÃËÄ¸ö²ÎÊýÊÇ²»Ì«ÏÖÊµµÄ£¬ÒòÎªÄãËæÊ±¿ÉÄÜÒªÀ©Õ¹¹¦ÄÜ£¬±ÈÈçÔÙ¼ÓÉÏ¸ö 
&nbsp; ¡¡¡¡- ±íÇé·ûºÅ 
&nbsp; ¡¡¡¡µÈµÈ 
&nbsp; ¡¡¡¡²»¿ÉÄÜÃ¿´Î¼Ó¸ö¹¦ÄÜ£¬¾ÍÖØÐÂ¶¨ÒåÒ»±éº¯Êý¡£ 
&nbsp; ¡¡¡¡ËùÒÔ×î¼òµ¥µÄ·½·¨ÊÇ°ÑËûÃÇºÏ²¢ÆðÀ´×÷ÎªÒ»¸ö²ÎÊý´«µÝ¸øº¯Êý¡£ 
&nbsp; ¡¡¡¡ÔÚÓÐ xml Ö®Ç°£¬Äã¿ÉÄÜ»áÊ¹ÓÃ·Ö¸ô·û£º 
&nbsp; ¡¡¡¡str = "·¢ÑÔÈË=ÕÅÈý;ÃÜÂë=**£»±êÌâ=abc£»ÄÚÈÝ=xyz" 
&nbsp; ¡¡¡¡µ½ server ÄÇ±ßÊ¹ÓÃ dictionary »ò collection »ò split µÈµÈ·½·¨°ÑËûÃÇ²ð¿ª¡£
&nbsp; ¡¡¡¡£¨µ±È»¿ÉÒÔ×Ô¼º¶¨Òå¶ÔÏóÀ²£¬½á¹¹À²µÈµÈ£¬µ«¶àÊýÇé¿öÏÂ»¹µÃÊÇ´¿×Ö·û´®--±ÈÈçÁíÒ»¸öÄ£¿é²»ÊÇ×Ô¼º¿ª·¢µÄ¡££© 
&nbsp; ¡¡¡¡ÕâÖÖ´«µÝ×Ö·û´®µÄ·½·¨ÓÐ¼¸¸öÎÊÌâ£¬×Ü½á³ÉÁ½¸ö×î´óµÄ·½Ãæ¾ÍÊÇ£º 
&nbsp; ¡¡¡¡1. ÕýÈ·µÄ½âÎöËüºÜÂé·³¡££¨±ÈÈç±êÌâÕýºÃÊÇ¡°·¢ÑÔÈË=ÕÅÈý;¡±ÔõÃ´°ì£© 
&nbsp; ¡¡¡¡2. ÊÇÆ½ÃæµÄ£¬Ã»ÓÐ²ã´ÎÐÍ½á¹¹ 
&nbsp; ¡¡¡¡Äã¿ÉÒÔÐ´Ð©º¯ÊýÀ´½â¾öÕâÐ©ÎÊÌâ£¬±ÈÈçÈ·±£ÀïÃæ¿Ï¶¨ÓÐ¡°·¢ÑÔÈË¡±£¬¡°ÃÜÂë¡±µÈµÈ£» 
&nbsp; ¡¡¡¡ÔÙÐ´Ð©º¯Êý×öÒ»ÏÂ×Ö·û×ªÒå£¬ÔÙÐ´Ð©º¯ÊýÖÆÔì³ö²ã´ÎÐÔµÄÐ§¹û... 
&nbsp; ¡¡¡¡¹»ÁË£¡ÔÛ»¹ÊÇÓÃ XML °É¡£ÔÚÎÒÄ¿Ç°Ç³ÏÔµÄÈÏÊ¶Àï£º 
&nbsp; ¡¡¡¡- XML ÊÇÓÃÀ´´«µÝÊý¾ÝµÄ 
&nbsp; ¡¡¡¡- XML ÈÃÕâÐ©Êý¾ÝÓÐÁË½á¹¹ -- Ò»¸öÊ÷ÐÍ½á¹¹ 
&nbsp; ¡¡¡¡- xml ÓÐÈ«Ì×µÄ²Ù×÷ÕâÖÖ½á¹¹µÄ·½·¨ 
&nbsp; ¡¡¡¡- xml ¹æ·¶£¨»òÕßËµµÄÊµ¼Êµã£¬xml parser£©°ïÄãÈ·¶¨Äã´´½¨µÄ×Ö·û´®ÊÇºÏ·¨µÄ 
&nbsp; ¡¡¡¡- xml ¹æ·¶£¨»òÕßËµµÄÊµ¼Êµã£¬xml parser£©ÖÐÓÐ°ì·¨ÑéÖ¤Õâ¸öºÏ·¨ÐÔ 
&nbsp; ¡¡¡¡- ¶ÔÓÚÄÃµ½Õâ¸ö×Ö·û´®µÄ server component À´Ëµ£¬¿ÉÒÔÓÃ xml ÖÐÏÖ³ÉµÄ·½·¨À´²Ù×÷Ëü£¬Õâ¾ÍÊÇ xpath, pattern£¬ÀàËÆÓÚ T-SQL Óï¾ä¡££¨µ«¼Ç×¡ xml ÊÇÊ÷ÐÍ½á¹¹µÄ£© 
&nbsp; ¡¡¡¡- XSLT Ê¹ÓÃ xpath ¶Ô xml ½øÐÐ×ª»»£¨ÀàËÆÓÚ DTS£©£¬ÆäÖÐÒ»ÖÖÌØÀýÊÇ°Ñ XML ×ª»»³É HTML Êä³ö¡£
]]></description>
		</item>
		<item>
			<title>AJAX£ºÈçºÎ´¦ÀíÊéÇ©ºÍºóÍË°´Å¥</title>
			<link>http://www.kingmx.com/article.php?id=12925</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[¡¡¡¡±¾ÎÄ½«Õ¹Ê¾Ò»¸ö¿ªÔ´JavaScript¿â£¬¸Ã½Å±¾¿â¸øAJAXÓ¦ÓÃ³ÌÐò´øÀ´ÁËÊéÇ©ºÍºóÍË°´Å¥Ö§³Ö¡£ÔÚÑ§Ï°ÍêÕâ¸ö½Ì³Ìºó£¬¿ª·¢ÈËÔ±½«ÄÜ¹»»ñµÃ¶ÔÒ»¸öAJAXÎÊÌâµÄ½â¾ö·½°¸£¨ÉõÖÁÁ¬Google MapsºÍGmailÏÖÔÚ¶¼²»Ìá¹©¸Ã½â¾ö·½°¸£©£ºÒ»¸öÇ¿´óµÄ¡¢¿ÉÓÃµÄÊéÇ©ºÍºóÍËÇ°½ø¹¦ÄÜ£¬Æä²Ù×÷ÐÐÎªÈçÍ¬ÆäËûµÄWebÓ¦ÓÃ³ÌÐòÒ»Ñù¡£ 
¡¡¡¡±¾ÎÄ½«²ûÊöÄ¿Ç°AJAXÓ¦ÓÃ³ÌÐòÔÚÊ¹ÓÃÊéÇ©ºÍºóÍË°´Å¥·½ÃæËùÃæÁÙµÄÑÏÖØÎÊÌâ£»Õ¹Ê¾Really Simple History£¨RSH£©¿â€€€€Ò»¸ö¿ÉÒÔ½â¾öÒÔÉÏÎÊÌâµÄ¿ªÔ´¿ò¼Ü£¬²¢Ìá¹©¼¸¸öÔËÐÐÖÐµÄÀý×Ó¡£
¡¡¡¡±¾ÎÄËùÕ¹Ê¾µÄÕâ¸ö¿ò¼ÜµÄÖ÷Òª·¢Ã÷·ÖÎªÁ½²¿·Ö¡£Ê×ÏÈÊÇÒ»¸öÒþ²ØµÄHTML±íµ¥£¬ÓÃÓÚ»º´æ´óÁ¿¶ÌÆÚ»á»°µÄ¿Í»§¶ËÐÅÏ¢£»ÕâÖÖ»º´æ¹¦ÄÜÎªÒ³Ãæµ¼º½Ìá¹©ÁËÇ¿´óµÄÖ§³Ö¡£Æä´ÎÊÇ³¬Á´½ÓÃªµãºÍÒþ²ØIframeµÄ×éºÏ£¬ËüÃÇ±»Ç¶ÈëºóÍËºÍÇ°½ø°´Å¥£¬ÓÃÀ´½Ø»ñºÍ¼ÇÂ¼ä¯ÀÀÆ÷µÄÀúÊ·¼ÇÂ¼ÊÂ¼þ¡£ÒÔÉÏÁ½ÖÖ¼¼Êõ¶¼±»°ü×°ÔÚÒ»¸ö¼òµ¥µÄJavaScript¿âÖÐÀ´¼ò»¯¿ª·¢¡£
¡¡¡¡ÎÊÌâ
¡¡¡¡ÊéÇ©ºÍºóÍË°´Å¥ÔÚ´«Í³µÄ¶àÒ³ÃæWebÓ¦ÓÃ³ÌÐòÖÐÔËÐÐµÃ·Ç³£ºÃ¡£µ±ÓÃ»§ä¯ÀÀwebÕ¾µãµÄÊ±ºò£¬Æää¯ÀÀÆ÷µÄµØÖ·À¸¼ÇÂ¼ËæÐÂµÄURL¶ø¸üÐÂ£¬ÕâÐ©¼ÇÂ¼¿ÉÒÔ±»Õ³Ìùµ½µç×ÓÓÊ¼þ»òÕßÊéÇ©ÖÐ¹©ÒÔºóÊ¹ÓÃ¡£ºóÍËºÍÇ°½ø°´Å¥Ò²¿ÉÒÔÕý³£²Ù×÷£¬Ê¹ÓÃ»§¿ÉÒÔÔÚ·ÃÎÊ¹ýµÄÒ³ÃæÖÐÏòÇ°»òÏòºó·­¶¯¡£
¡¡¡¡µ«ÊÇAJAXÓ¦ÓÃ³ÌÐòÈ´²»Ò»Ñù£¬ËüÃÇÊÇÔËÐÐÔÚµ¥¸öWebÒ³ÃæÖÐµÄ¸´ÔÓ³ÌÐò¡£ä¯ÀÀÆ÷²¢²»ÊÇÎªÕâÀà³ÌÐò¶ø¹¹½¨µÄ€€€€ÕâÀàWebÓ¦ÓÃ³ÌÐòÒÑ¾­¹ýÊ±£¬ËüÃÇÔÚÃ¿´ÎÊó±êµã»÷µÄÊ±ºò¶¼ÐèÒªÖØÐÂË¢ÐÂÕû¸öÒ³Ãæ¡£
¡¡¡¡ÔÚÕâÖÖÀàËÆÓÚGmailµÄAJAXÈí¼þÖÐ£¬ä¯ÀÀÆ÷µÄµØÖ·À¸ÔÚÓÃ»§Ñ¡Ôñ¹¦ÄÜºÍ¸Ä±ä³ÌÐò×´Ì¬µÄÊ±ºò±£³Ö²»±ä£¬ÕâÊ¹µÃÎÞ·¨ÔÚÌØ¶¨µÄÓ¦ÓÃ³ÌÐòÊÓÍ¼ÖÐÊ¹ÓÃÊéÇ©¡£´ËÍâ£¬Èç¹ûÓÃ»§°´ÏÂ¡°ºóÍË¡±°´Å¥À´¡°³·Ïú¡±ÉÏ´ÎµÄ²Ù×÷£¬ËûÃÇ»á¾ªÆæµØ·¢ÏÖ£¬ä¯ÀÀÆ÷»áÍêÈ«Àë¿ª¸ÃÓ¦ÓÃ³ÌÐòµÄWebÒ³Ãæ¡£
¡¡¡¡½â¾ö·½°¸
¡¡¡¡¿ªÔ´RSH¿ò¼Ü¿ÉÒÔ½â¾öÕâÐ©ÎÊÌâ£¬ËüÎªAJAXÓ¦ÓÃ³ÌÐòÌá¹©ÁËÊéÇ©ºÍ¿ØÖÆºóÍË¡¢Ç°½ø°´Å¥µÄ¹¦ÄÜ¡£RSHÄ¿Ç°»¹´¦ÓÚBeta½×¶Î£¬¿ÉÒÔÔÚFirefox 1.0¡¢Netscape 7+¡¢Internet Explorer 6+µÈä¯ÀÀÆ÷ÉÏÔËÐÐ£»Ä¿Ç°»¹²»Ö§³ÖSafari¡£
¡¡¡¡Ä¿Ç°ÓÐ¼¸¸öAJAX¿ò¼Ü¶ÔÊéÇ©ºÍÀúÊ·¼ÇÂ¼ÎÊÌâÓÐËù°ïÖú£»µ«ÕâÐ©¿ò¼ÜÄ¿Ç°¶¼ÓÐ¼¸¸öÓÉÓÚÊµÏÖ¶øÔì³ÉµÄÖØ´óBug¡£´ËÍâ£¬ºÜ¶àAJAXÀúÊ·¼ÇÂ¼¿ò¼Ü±»°ó¶¨µ½½Ï´óµÄ¿âÉÏ£¬ÀýÈçBackbaseºÍDojo£»ÕâÐ©¿ò¼ÜÎªAJAXÓ¦ÓÃ³ÌÐòÒýÈëÁËÍêÈ«²»Í¬µÄ±à³ÌÄ£ÐÍ£¬ÆÈÊ¹¿ª·¢ÈËÔ±Ê¹ÓÃÈ«ÐÂµÄ·½Ê½À´»ñµÃÀúÊ·¼ÇÂ¼¹¦ÄÜ¡£
¡¡¡¡Ïà½ÏÖ®ÏÂ£¬RSHÊÇÒ»¸ö¿ÉÒÔ°üº¬ÔÚÏÖÓÐAJAXÏµÍ³ÖÐµÄ¼òµ¥Ä£¿é¡£´ËÍâ£¬RSH¿â²ÉÓÃÁËÒ»Ð©¼¼ÊõÒÔ±ÜÃâ²úÉúÓ°ÏìÆäËûÀúÊ·¼ÇÂ¼¿ò¼ÜµÄBug¡£
¡¡¡¡RSH¿ò¼ÜÓÉÁ½¸öJavaScriptÀà×é³É£ºDhtmlHistoryºÍHistoryStorage¡£
¡¡¡¡DhtmlHistoryÀàÎªAJAXÓ¦ÓÃ³ÌÐòÌá¹©ÀúÊ·¼ÇÂ¼³éÏó¡£AJAXÒ³ÃæÊ¹ÓÃadd()·½·¨Ìí¼ÓÀúÊ·¼ÇÂ¼ÊÂ¼þµ½ä¯ÀÀÆ÷£¬Ö¸¶¨ÐÂµÄµØÖ·ºÍÏà¹ØµÄÀúÊ·¼ÇÂ¼Êý¾Ý¡£DhtmlHistoryÀàÊ¹ÓÃÒ»¸öÃªÉ¢ÁÐ£¨Èç#new-location£©¸üÐÂä¯ÀÀÆ÷µ±Ç°µÄURL£¬Í¬Ê±°ÑÀúÊ·¼ÇÂ¼Êý¾ÝºÍ¸ÃÐÂURL¹ØÁª¡£AJAXÓ¦ÓÃ³ÌÐò½«×Ô¼º×¢²áÎªÀúÊ·¼ÇÂ¼µÄ¼àÌýÆ÷£¬µ±ÓÃ»§Ê¹ÓÃºóÍËºÍÇ°½ø°´Å¥½øÐÐä¯ÀÀÊ±£¬ÀúÊ·¼ÇÂ¼ÊÂ¼þ±»´¥·¢£¬Îªä¯ÀÀÆ÷Ìá¹©ÐÂµÄÎ»ÖÃÒÔ¼°Óëadd()µ÷ÓÃÒ»Æð±£´æµÄÈÎºÎÀúÊ·¼ÇÂ¼Êý¾Ý¡£
¡¡¡¡µÚ¶þ¸öÀà£ºHistoryStorage£¬ÔÊÐí¿ª·¢ÈËÔ±±£´æÈÎÒâÊýÁ¿µÄÒÑ´æÀúÊ·¼ÇÂ¼Êý¾Ý¡£ÔÚÆÕÍ¨WebÒ³ÃæÖÐ£¬µ±ÓÃ»§µ¼º½µ½Ò»¸öÐÂµÄwebÕ¾µãÊ±£¬ä¯ÀÀÆ÷Ð¶ÔØ²¢Çå³ýwebÒ³ÃæÉÏµÄËùÓÐÓ¦ÓÃ³ÌÐòºÍJavaScript×´Ì¬£»Èç¹ûÓÃ»§ÓÃºóÍË°´Å¥·µ»Ø£¬ËùÓÐµÄÊý¾Ý¶¼¶ªÊ§ÁË¡£HistoryStorageÀàÍ¨¹ýÒ»¸ö°üº¬¼òµ¥É¢ÁÐ±í·½·¨£¨ÀýÈçput()¡¢get()¡¢hasKey()£©µÄAPIÀ´½â¾öÕâÀàÎÊÌâ¡£ÉÏÃæµÄ·½·¨ÔÊÐí¿ª·¢ÈËÔ±ÔÚÓÃ»§Àë¿ªWebÒ³ÃæÖ®ºó±£´æÈÎÒâÊýÁ¿µÄÊý¾Ý£»µ±ÓÃ»§°´ºóÍË°´Å¥ÖØÐÂ·µ»ØÊ±£¬ÀúÊ·¼ÇÂ¼Êý¾Ý¿ÉÒÔÍ¨¹ýHistoryStorageÀàÀ´·ÃÎÊ¡£ÔÚÄÚ²¿£¬ÎÒÃÇÍ¨¹ýÊ¹ÓÃÒþ²ØµÄ±íµ¥×Ö¶ÎÀ´ÊµÏÖ´Ë¹¦ÄÜ£¬ÕâÊÇÒòÎªä¯ÀÀÆ÷»á×Ô¶¯±£´æ±íµ¥×Ö¶ÎÖÐµÄÖµ£¬ÉõÖÁÔÚÓÃ»§Àë¿ªWebÒ³ÃæµÄÊ±ºòÒ²Èç´Ë¡£
¡¡¡¡Àý×Ó
¡¡¡¡ÈÃÎÒÃÇÏÈ´ÓÒ»¸ö¼òµ¥µÄÀý×Ó¿ªÊ¼¡£
¡¡¡¡Ê×ÏÈ£¬ÈÎºÎÐèÒªÊ¹ÓÃRSH¿ò¼ÜµÄÒ³Ãæ¶¼±ØÐë°üº¬dhtmlHistory.js½Å±¾£º
£¼!-- Load the Really Simple 
History framework --£¾
£¼script type="text/javascript"
src="../../framework/dhtmlHistory.js"£¾
£¼/script£¾
¡¡¡¡DHTMLÀúÊ·¼ÇÂ¼Ó¦ÓÃ³ÌÐòÒ²±ØÐëÔÚÓëAJAX WebÒ³ÃæÏàÍ¬µÄÄ¿Â¼ÏÂ°üº¬blank.htmlÎÄ¼þ£»Õâ¸öÎÄ¼þÓëRSH¿ò¼Ü´ò°üÔÚÒ»Æð£¬ÇÒ¶ÔÓÚInternet ExplorerÀ´ËµÊÇ±ØÐèµÄ¡£Ë³±ãÌáÒ»ÏÂ£¬RSHÊ¹ÓÃÒ»¸öÒþ²ØIframeÀ´¸ú×ÙºÍÌí¼ÓInternet ExplorerµÄÀúÊ·¼ÇÂ¼±ä»¯£»Õâ¸öIframeÐèÒªÎÒÃÇÖ¸¶¨Ò»¸öÊµ¼ÊµÄÎÄ¼þÎ»ÖÃ²ÅÄÜÕý³£¹¤×÷£¬Õâ¾ÍÊÇblank.html¡£
¡¡¡¡RSH¿ò¼Ü´´½¨ÁËÒ»¸ö½Ð×ödhtmlHistoryµÄÈ«¾Ö¶ÔÏó£¬ÕâÊÇ²Ù×Ýä¯ÀÀÆ÷ÀúÊ·¼ÇÂ¼µÄÈë¿Úµã¡£Ê¹ÓÃdhtmlHistoryµÄµÚÒ»²½ÊÇÔÚWebÒ³Ãæ¼ÓÔØÍê³Éºó³õÊ¼»¯dhtmlHistory¶ÔÏó£º
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡¡¡È»ºó£¬¿ª·¢ÈËÔ±Ê¹ÓÃdhtmlHistory.addListener()·½·¨¶©ÔÄÀúÊ·¼ÇÂ¼±ä»¯ÊÂ¼þ¡£Õâ¸ö·½·¨´øÓÐÒ»¸öJavaScript»Øµ÷º¯Êý£¬µ±DHTMLÀúÊ·¼ÇÂ¼±ä»¯ÊÂ¼þ·¢ÉúÊ±£¬¸Ãº¯Êý½ÓÊÕÁ½¸ö²ÎÊý£ºÐÂµÄÒ³ÃæÎ»ÖÃÒÔ¼°ÈÎºÎ¿ÉÓë¸ÃÊÂ¼þ¹ØÁªµÄ¿ÉÑ¡ÀúÊ·¼ÇÂ¼Êý¾Ý£º
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡// subscribe to DHTML history change
¡¡// events
¡¡dhtmlHistory.addListener(historyChange);
¡¡¡¡historyChange()·½·¨ºÜ¼òµ¥£¬¸Ãº¯ÊýÔÚÓÃ»§µ¼º½µ½Ò»¸öÐÂÎ»ÖÃºó½ÓÊÕnewLocationÒÔ¼°ÈÎºÎÓë¸ÃÊÂ¼þ¹ØÁªµÄ¿ÉÑ¡historyData¡£
/** Our callback to receive history change
events. */
function historyChange(newLocation, 
historyData) {
¡¡debug("A history change has occurred: "
¡¡¡¡+ "newLocation="+newLocation
¡¡¡¡+ ", historyData="+historyData, 
¡¡¡¡true);
}
¡¡¡¡ÉÏÃæÓÃµ½µÄdebug()·½·¨ÊÇ¶¨ÒåÔÚÊ¾ÀýÔ´ÎÄ¼þÖÐµÄÒ»¸öÊµÓÃº¯Êý£¬ËüÓëÍêÕûÊ¾Àý´ò°üÔÚÒ»Æð¹©ÏÂÔØ¡£debug()Ö»ÊÇÓÃÀ´½«ÏûÏ¢´òÓ¡µ½WebÒ³ÃæÉÏ£»µÚ¶þ¸ö²¼¶ûÐÍ²ÎÊý£¨ÔÚÉÏÊö´úÂëÖÐÖµÎªtrue£©¿ØÖÆÊÇ·ñÔÚ´òÓ¡ÐÂµÄµ÷ÊÔÏûÏ¢Ö®Ç°Çå³ýÔ­ÓÐµÄÈ«²¿ÏûÏ¢¡£
¡¡¡¡¿ª·¢ÈËÔ±Ê¹ÓÃadd()·½·¨Ìí¼ÓÀúÊ·¼ÇÂ¼ÊÂ¼þ¡£Ìí¼ÓÀúÊ·¼ÇÂ¼ÊÂ¼þÉæ¼°ÎªÀúÊ·¼ÇÂ¼±ä»¯Ö¸¶¨Ò»¸öÐÂµØÖ·£¬ÀýÈçedit:SomePage£¬ÒÔ¼°Ìá¹©Ò»¸öºÍ¸ÃÊÂ¼þÒ»Æð±£´æµÄ¿ÉÑ¡historyDataÖµ¡£
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡// subscribe to DHTML history change
¡¡// events
¡¡dhtmlHistory.addListener(historyChange);
¡¡// if this is the first time we have
¡¡// loaded the page...
¡¡if (dhtmlHistory.isFirstLoad()) {
¡¡¡¡debug("Adding values to browser " + "history", false);
¡¡¡¡// start adding history
¡¡¡¡dhtmlHistory.add("helloworld", "Hello World Data");
¡¡¡¡dhtmlHistory.add("foobar", 33);
¡¡¡¡dhtmlHistory.add("boobah", true);
¡¡¡¡var complexObject = new Object();
¡¡¡¡complexObject.value1 = "This is the first value";
¡¡¡¡complexObject.value2 = "This is the second data";
¡¡¡¡complexObject.value3 = new Array();
¡¡¡¡complexObject.value3[0] = "array 1";
¡¡¡¡complexObject.value3[1] = "array 2";
¡¡¡¡dhtmlHistory.add("complexObject", complexObject);
¡¡¡¡ÔÚadd()±»µ÷ÓÃÖ®ºó£¬ÐÂµÄµØÖ·½«Á¢¼´×÷ÎªÒ»¸öÃªÖµ£¨Á´½ÓµØÖ·£©ÏÔÊ¾ÔÚä¯ÀÀÆ÷µÄURLµØÖ·À¸ÖÐ¡£ÀýÈç£¬¶ÔµØÖ·Îªhttp://codinginparadise.org/my_ajax_appµÄAJAX WebÒ³Ãæµ÷ÓÃdhtmlHistory.add("helloworld", "Hello World Data")Ö®ºó£¬ÓÃ»§½«»áÔÚÆää¯ÀÀÆ÷URLµØÖ·À¸ÖÐ¿´µ½ÈçÏÂµÄµØÖ·£º
¡¡¡¡http://codinginparadise.org/my_ajax_app#helloworld
¡¡¡¡È»ºóÓÃ»§¿ÉÒÔ½«Õâ¸öÒ³Ãæ×ö³ÉÊéÇ©£¬Èç¹ûÒÔºóÓÃµ½Õâ¸öÊéÇ©£¬AJAXÓ¦ÓÃ³ÌÐò¿ÉÒÔ¶ÁÈ¡#helloworldÖµ£¬²¢ÓÃËüÀ´³õÊ¼»¯WebÒ³Ãæ¡£É¢ÁÐºóÃæµÄµØÖ·ÖµÊÇRSH¿ò¼Ü¿ÉÒÔÍ¸Ã÷±àÂëºÍ½âÂëµÄURLµØÖ·¡£
¡¡¡¡HistoryData·Ç³£ÓÐÓÃ£¬Ëü±£´æ±È¼òµ¥µÄURL¸üÎª¸´ÔÓµÄAJAXµØÖ·±ä»¯×´Ì¬¡£ÕâÊÇÒ»¸ö¿ÉÑ¡Öµ£¬¿ÉÒÔÊÇÈÎºÎJavaScriptÀàÐÍ£¬ÀýÈçNumber¡¢String»òObject¡£Ê¹ÓÃ¸Ã±£´æ¹¦ÄÜµÄÒ»¸öÀý×ÓÊÇÔÚÒ»¸ö¸»ÎÄ±¾±à¼­Æ÷ÖÐ±£´æËùÓÐÎÄ±¾£¨±ÈÈçÔÚÓÃ»§Àë¿ªµ±Ç°Ò³ÃæÊ±£©¡£µ±ÓÃ»§ÔÙ»Øµ½Õâ¸öµØÖ·Ê±£¬ä¯ÀÀÆ÷½«»á½«¸Ã¶ÔÏó·µ»Ø¸øÀúÊ·¼ÇÂ¼±ä»¯¼àÌýÆ÷¡£
¡¡¡¡¿ª·¢ÈËÔ±¿ÉÒÔÎªhistoryDataÌá¹©´øÓÐÇ¶Ì×¶ÔÏóºÍ±íÊ¾¸´ÔÓ×´Ì¬µÄÊý×éµÄÍêÕûJavaScript¶ÔÏó£»JSON (JavaScript Object Notation)ËùÖ§³ÖµÄÔÚÀúÊ·¼ÇÂ¼Êý¾ÝÖÐ¶¼Ö§³Ö£¬°üÀ¨¼òµ¥Êý¾ÝÀàÐÍºÍnullÀàÐÍ¡£È»¶ø£¬DOM¶ÔÏóÒÔ¼°¿ÉÓÃ½Å±¾±àÐ´µÄä¯ÀÀÆ÷¶ÔÏó£¨ÈçXMLHttpRequest£©²»»á±»±£´æ¡£Çë×¢Òâ£¬historyData²¢²»ËæÊéÇ©Ò»Æð±£´æ£¬µ±ä¯ÀÀÆ÷¹Ø±Õ£¬ä¯ÀÀÆ÷»º´æ±»Çå¿Õ£¬»òÕßÓÃ»§Çå³ýÀúÊ·¼ÇÂ¼µÄÊ±ºò£¬Ëü¾Í»áÏûÊ§¡£
¡¡¡¡Ê¹ÓÃdhtmlHistoryµÄ×îºóÒ»²½ÊÇisFirstLoad()·½·¨¡£ÔÚÄ³Ð©ä¯ÀÀÆ÷ÖÐ£¬Èç¹ûµ¼º½µ½Ò»¸öWebÒ³Ãæ£¬ÔÙÌø×ªµ½ÁíÒ»¸ö²»Í¬µÄÒ³Ãæ£¬È»ºó°´¡°ºóÍË¡±°´Å¥·µ»Øµ½ÆðÊ¼µÄÕ¾µã£¬µÚÒ»Ò³½«ÍêÈ«ÖØÐÂ¼ÓÔØ£¬²¢´¥·¢onloadÊÂ¼þ¡£ÕâÑù»á¶ÔÏëÒªÔÚµÚÒ»´Î¼ÓÔØÒ³ÃæÊ±ÓÃÄ³ÖÖ·½Ê½¶ÔÆä½øÐÐ³õÊ¼»¯£¨¶øÆäºóÔò²»Ê¹ÓÃÕâÖÖ·½Ê½ÖØÐÂ¼ÓÔØ¸ÃÒ³Ãæ£©µÄ´úÂëÔì³ÉÆÆ»µ¡£isFirstLoad()·½·¨¿ÉÒÔÇø·ÖÊÇµÚÒ»´Î¼ÓÔØÒ»¸öWebÒ³Ãæ»¹ÊÇÓÃ»§µ¼º½µ½±£´æÔÚÀúÊ·¼ÇÂ¼ÖÐµÄWebÒ³ÃæÊ±´¥·¢µÄ¡°¼Ù¼ÓÔØ¡±ÊÂ¼þ¡£
¡¡¡¡ÔÚÊ¾Àý´úÂëÖÐ£¬ÎÒÃÇÖ»ÏëÔÚµÚÒ»´Î¼ÓÔØÒ³ÃæµÄÊ±ºòÌí¼ÓÀúÊ·¼ÇÂ¼ÊÂ¼þ£»Èç¹ûÓÃ»§ÔÚ¼ÓÔØÒ³Ãæºó°´ºóÍË°´Å¥·µ»Ø¸ÃÒ³Ãæ£¬ÎÒÃÇ¾Í²»ÏëÖØÐÂÌí¼ÓÈÎºÎÀúÊ·¼ÇÂ¼ÊÂ¼þ£º
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡// subscribe to DHTML history change
¡¡// events
¡¡dhtmlHistory.addListener(historyChange);
¡¡// if this is the first time we have
¡¡// loaded the page...
¡¡if (dhtmlHistory.isFirstLoad()) {
¡¡¡¡debug("Adding values to browser "+ "history", false);
¡¡¡¡// start adding history
¡¡¡¡dhtmlHistory.add("helloworld", "Hello World Data");
¡¡¡¡dhtmlHistory.add("foobar", 33);
¡¡¡¡dhtmlHistory.add("boobah", true);
¡¡¡¡var complexObject = new Object();
¡¡¡¡complexObject.value1 = "This is the first value";
¡¡¡¡complexObject.value2 = "This is the second data";
¡¡¡¡complexObject.value3 = new Array();
¡¡¡¡complexObject.value3[0] = "array 1";
¡¡¡¡complexObject.value3[1] = "array 2";
¡¡¡¡dhtmlHistory.add("complexObject", complexObject);
¡¡¡¡ÈÃÎÒÃÇ¼ÌÐøÊ¹ÓÃhistoryStorageÀà¡£ÀàËÆÓÚdhtmlHistory£¬historyStorageÍ¨¹ýÒ»¸ö½ÐhistoryStorageµÄÈ«¾Ö¶ÔÏóÀ´¹«¿ªËüµÄ¹¦ÄÜ¡£¸Ã¶ÔÏóÓÐ¼¸¸öÄ£ÄâÉ¢ÁÐµÄ·½·¨£¬±ÈÈçput(keyName¡¢keyValue)¡¢get(keyName)ºÍhasKey(keyName)¡£¼üÃû³Æ±ØÐëÊÇ×Ö·û´®£¬Í¬Ê±¼üÖµ¿ÉÒÔÊÇ¸´ÔÓµÄJavaScript¶ÔÏóÉõÖÁÊÇXML¸ñÊ½µÄ×Ö·û´®¡£ÔÚÎÒÃÇµÄÔ´´úÂëÀý×ÓÖÐ£¬ÔÚµÚÒ»´Î¼ÓÔØÒ³ÃæÊ±£¬ÎÒÃÇÊ¹ÓÃput()½«¼òµ¥µÄXML·ÅÈëhistoryStorage£º
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡// subscribe to DHTML history change
¡¡// events
¡¡dhtmlHistory.addListener(historyChange);
¡¡// if this is the first time we have
¡¡// loaded the page...
¡¡if (dhtmlHistory.isFirstLoad()) {
¡¡¡¡debug("Adding values to browser " + "history", false);
¡¡¡¡// start adding history
¡¡¡¡dhtmlHistory.add("helloworld", "Hello World Data");
¡¡¡¡dhtmlHistory.add("foobar", 33);
¡¡¡¡dhtmlHistory.add("boobah", true);
¡¡¡¡var complexObject = new Object();
¡¡¡¡complexObject.value1 = "This is the first value";
¡¡¡¡complexObject.value2 = "This is the second data";
¡¡¡¡complexObject.value3 = new Array();
¡¡¡¡complexObject.value3[0] = "array 1";
¡¡¡¡complexObject.value3[1] = "array 2";
¡¡¡¡dhtmlHistory.add("complexObject", complexObject);
¡¡¡¡// cache some values in the history
¡¡¡¡// storage
¡¡¡¡debug("Storing key 'fakeXML' into " + "history storage", false);
¡¡¡¡var fakeXML = 
¡¡¡¡¡¡'£¼?xml version="1.0" '
¡¡¡¡¡¡+ 'encoding="ISO-8859-1"?£¾'
¡¡¡¡¡¡+ '£¼foobar£¾'
¡¡¡¡¡¡+ '£¼foo-entry/£¾'
¡¡¡¡¡¡+ '£¼/foobar£¾';
¡¡¡¡historyStorage.put("fakeXML", fakeXML);
} 
¡¡¡¡È»ºó£¬Èç¹ûÓÃ»§Àë¿ªÒ³ÃæºóÓÖÍ¨¹ýºóÍË°´Å¥·µ»Ø¸ÃÒ³Ãæ£¬ÎÒÃÇ¿ÉÒÔÊ¹ÓÃget()·½·¨ÌáÈ¡±£´æµÄÖµ£¬»òÕßÊ¹ÓÃhasKey()·½·¨¼ì²é¸ÃÖµÊÇ·ñ´æÔÚ¡£
window.onload = initialize;
function initialize() {
¡¡// initialize the DHTML History
¡¡// framework
¡¡dhtmlHistory.initialize();
¡¡// subscribe to DHTML history change
¡¡// events
¡¡dhtmlHistory.addListener(historyChange);
¡¡// if this is the first time we have
¡¡// loaded the page...
¡¡if (dhtmlHistory.isFirstLoad()) {
¡¡¡¡debug("Adding values to browser " + "history", false);
¡¡¡¡// start adding history
¡¡¡¡dhtmlHistory.add("helloworld", "Hello World Data");
¡¡¡¡dhtmlHistory.add("foobar", 33);
¡¡¡¡dhtmlHistory.add("boobah", true);
¡¡¡¡var complexObject = new Object();
¡¡¡¡complexObject.value1 = "This is the first value";
¡¡¡¡complexObject.value2 = "This is the second data";
¡¡¡¡complexObject.value3 = new Array();
¡¡¡¡complexObject.value3[0] = "array 1";
¡¡¡¡complexObject.value3[1] = "array 2";
¡¡¡¡dhtmlHistory.add("complexObject", complexObject);
¡¡¡¡// cache some values in the history
¡¡¡¡// storage
¡¡¡¡debug("Storing key 'fakeXML' into " + "history storage", false);
¡¡¡¡var fakeXML = '£¼?xml version="1.0" ' + 'encoding="ISO-8859-1"?£¾'
¡¡¡¡¡¡+ '£¼foobar£¾' + '£¼foo-entry/£¾' + '£¼/foobar£¾';
¡¡¡¡historyStorage.put("fakeXML", fakeXML);
¡¡} 
¡¡// retrieve our values from the history
¡¡// storage
¡¡var savedXML = historyStorage.get("fakeXML");
¡¡savedXML = prettyPrintXml(savedXML);
¡¡var hasKey = historyStorage.hasKey("fakeXML");
¡¡var message = "historyStorage.hasKey('fakeXML')="
¡¡¡¡¡¡+ hasKey + "£¼br£¾"
¡¡¡¡¡¡+ "historyStorage.get('fakeXML')=£¼br£¾"
¡¡¡¡¡¡+ savedXML;
¡¡debug(message, false);
}
¡¡¡¡prettyPrintXml()ÊÇÒ»¸ö¶¨ÒåÔÚÍêÕûÊ¾ÀýÔ´´úÂëÖÐµÄÊµÓÃ·½·¨£»´Ëº¯Êý×¼±¸ÔÚwebÒ³ÃæÖÐÏÔÊ¾ÒÔ±ãÓÃÓÚµ÷ÊÔµÄ¼òµ¥XML¡£
¡¡¡¡Çë×¢Òâ£¬Ïà¹ØÊý¾ÝÖ»ÔÚ¸ÃÒ³ÃæµÄÀúÊ·¼ÇÂ¼ÖÐ½øÐÐ³Ö¾Ã»¯£»Èç¹ûä¯ÀÀÆ÷±»¹Ø±Õ£¬»òÕßÓÃ»§´ò¿ªÒ»¸öÐÂ´°¿Ú²¢ÔÙ´Î¼üÈëAJAXÓ¦ÓÃ³ÌÐòµÄµØÖ·£¬Ôò¸ÃÀúÊ·¼ÇÂ¼Êý¾Ý¶ÔÓÚÐÂµÄWebÒ³Ãæ²»¿ÉÓÃ¡£ÀúÊ·¼ÇÂ¼Êý¾ÝÖ»ÓÐÔÚÓÃµ½ºóÍË»òÇ°½ø°´Å¥Ê±²Å±»³Ö¾Ã»¯£¬µ±ÓÃ»§¹Ø±Õä¯ÀÀÆ÷»òÇå¿Õ»º´æµÄÊ±ºò¾Í»áÏûÊ§¡£Èç¹ûÏëÕæÕý³¤ÆÚ³Ö¾Ã»¯£¬Çë²ÎÔÄAjax MAssive Storage System (AMASS)¡£
¡¡¡¡ÎÒÃÇµÄ¼òµ¥Ê¾ÀýÒÑ¾­Íê³É¡£ 
¡¡¡¡Ê¾Àý2£ºO'Reilly Mail
¡¡¡¡ÎÒÃÇµÄµÚ¶þ¸öÀý×ÓÊÇÒ»¸ö¼òµ¥µÄAJAXµç×ÓÓÊ¼þÄ£ÄâÓ¦ÓÃ³ÌÐòµÄÊ¾Àý£¬¼´O'Reilly Mail£¬ËüÀàËÆÓÚGmail¡£O'Reilly MailÃèÊöÁËÈçºÎÊ¹ÓÃdhtmlHistoryÀàÀ´¿ØÖÆä¯ÀÀÆ÷µÄÀúÊ·¼ÇÂ¼£¬ÒÔ¼°ÈçºÎÊ¹ÓÃhistoryStorage¶ÔÏóÀ´»º´æÀúÊ·¼ÇÂ¼Êý¾Ý¡£
¡¡¡¡O'Reilly MailÓÃ»§½çÃæÓÉÁ½²¿·Ö×é³É¡£ÔÚÒ³ÃæµÄ×ó±ßÊÇÒ»¸ö´øÓÐ²»Í¬µç×ÓÓÊ¼þÎÄ¼þ¼ÐºÍÑ¡ÏîµÄ²Ëµ¥£¬ÀýÈçÊÕ¼þÏä¡¢²Ý¸åÏäµÈ¡£µ±ÓÃ»§Ñ¡ÔñÁËÒ»¸ö²Ëµ¥Ïî£¨ÈçÊÕ¼þÏä£©£¬¾ÍÓÃÕâ¸ö²Ëµ¥ÏîµÄÄÚÈÝ¸üÐÂÓÒ±ßµÄÒ³Ãæ¡£ÔÚÒ»¸öÏÖÊµÓ¦ÓÃ³ÌÐòÖÐ£¬ÎÒÃÇ»áÔ¶³Ì»ñÈ¡²¢ÏÔÊ¾Ñ¡ÔñµÄÐÅÏäÄÚÈÝ£¬²»¹ýÔÚO'Reilly MailÖÐ£¬ÎÒÃÇÖ»ÏÔÊ¾ÒÑÑ¡ÔñµÄÑ¡Ïî¡£
¡¡¡¡O'Reilly MailÊ¹ÓÃRSH¿ò¼ÜÏòä¯ÀÀÆ÷ÀúÊ·¼ÇÂ¼ÖÐÌí¼Ó²Ëµ¥±ä»¯²¢¸üÐÂµØÖ·À¸£¬ÔÊÐíÓÃ»§ÀûÓÃä¯ÀÀÆ÷µÄºóÍËºÍÇ°½ø°´Å¥ÎªÓ¦ÓÃ³ÌÐò×öÊÕ²ØÊéÇ©ºÍÌøµ½ÉÏ´Î±ä»¯µÄ²Ëµ¥¡£
¡¡¡¡ÎÒÃÇÌí¼ÓÒ»¸öÌØÊâµÄ²Ëµ¥Ïî€€€€µØÖ·²¾£¬ÒÔËµÃ÷ÈçºÎÀ´Ê¹ÓÃhistoryStorage¡£µØÖ·²¾ÊÇÒ»¸öÓÉÁªÏµÈËÃû³ÆºÍÓÊ¼þµØÖ·×é³ÉµÄJavaScriptÊý×é£¬ÔÚÒ»¸öÏÖÊµÓ¦ÓÃ³ÌÐòÖÐ£¬ÎÒÃÇ»á´ÓÒ»Ì¨Ô¶³Ì·þÎñÆ÷È¡µÃÕâ¸öÊý×é¡£²»¹ý£¬ÔÚO'Reilly MailÖÐ£¬ÎÒÃÇÔÚ±¾µØ´´½¨Õâ¸öÊý×é£¬Ìí¼Ó¼¸¸öÃû³ÆºÍµç×ÓÓÊ¼þµØÖ·£¬È»ºó½«Æä±£´æÔÚhistoryStorage¶ÔÏóÖÐ¡£Èç¹ûÓÃ»§Àë¿ªWebÒ³ÃæºóÓÖ·µ»Ø¸ÃÒ³Ãæ£¬ÄÇÃ´O'Reilly MailÓ¦ÓÃ³ÌÐò½«ÖØÐÂ´Ó»º´æ¼ìË÷µØÖ·²¾£¬¶ø²»ÊÇÔÙ´ÎÁªÏµÔ¶³Ì·þÎñÆ÷¡£
¡¡¡¡ÎÒÃÇÓÃinitialize()·½·¨±£´æºÍ¼ìË÷µØÖ·²¾£º
/** Our function that initializes when the page
is finished loading. */
function initialize() {
// initialize the DHTML History framework
dhtmlHistory.initialize();
// add ourselves as a DHTML History listener
dhtmlHistory.addListener(handleHistoryChange);
// if we haven't retrieved the address book
// yet, grab it and then cache it into our
// history storage
if (window.addressBook == undefined) {
¡¡// Store the address book as a global
¡¡// object.
¡¡// In a real application we would remotely
¡¡// fetch this from a server in the
¡¡// background.
¡¡window.addressBook =
¡¡¡¡["Brad Neuberg 'bkn3@columbia.edu'",
¡¡¡¡"John Doe 'johndoe@example.com'",
¡¡¡¡"Deanna Neuberg 'mom@mom.com'"];
¡¡// cache the address book so it exists
¡¡// even if the user leaves the page and
¡¡// then returns with the back button
¡¡historyStorage.put("addressBook", addressBook);
}
else {
¡¡// fetch the cached address book from
¡¡// the history storage
¡¡window.addressBook = historyStorage.get("addressBook");
}
¡¡¡¡´¦ÀíÀúÊ·¼ÇÂ¼±ä»¯µÄ´úÂëÒ²ºÜ¼òµ¥¡£ÔÚÏÂÃæµÄÔ´´úÂëÖÐ£¬ÎÞÂÛÓÃ»§°´ºóÍË»¹ÊÇÇ°½ø°´Å¥£¬¶¼½«µ÷ÓÃhandleHistoryChange¡£Ê¹ÓÃO'Reilly Mail¶¨ÒåµÄdisplayLocationÊµÓÃ·½·¨£¬ÎÒÃÇ¿ÉµÃµ½newLocation²¢Ê¹ÓÃËü½«ÎÒÃÇµÄÓÃ»§½çÃæ¸üÐÂµ½ÕýÈ·µÄ×´Ì¬¡£
/** Handles history change events. */
function handleHistoryChange(newLocation, 
historyData) {
¡¡// if there is no location then display
¡¡// the default, which is the inbox
¡¡if (newLocation == "") {
¡¡¡¡newLocation = "section:inbox";
¡¡}
¡¡// extract the section to display from
¡¡// the location change; newLocation will
¡¡// begin with the word "section:" 
¡¡newLocation = newLocation.replace(/section/:/, "");
¡¡// update the browser to respond to this
¡¡// DHTML history change
¡¡displayLocation(newLocation, historyData);
}
/** Displays the given location in the 
right-hand side content area. */
function displayLocation(newLocation,sectionData) {
¡¡// get the menu element that was selected
¡¡var selectedElement = document.getElementById(newLocation);
¡¡// clear out the old selected menu item
¡¡var menu = document.getElementById("menu");
¡¡for (var i = 0; i £¼ menu.childNodes.length; i++) {
¡¡¡¡var currentElement = menu.childNodes[i];
¡¡¡¡// see if this is a DOM Element node
¡¡¡¡if (currentElement.nodeType == 1) {
¡¡¡¡¡¡// clear any class name
¡¡¡¡¡¡currentElement.className = "";
¡¡¡¡} 
¡¡} 
¡¡// cause the new selected menu item to
¡¡// appear differently in the UI
¡¡selectedElement.className = "selected";
¡¡// display the new section in the right-hand
¡¡// side of the screen; determine what 
¡¡// our sectionData is
¡¡// display the address book differently by
¡¡// using our local address data we cached
¡¡// earlier
¡¡if (newLocation == "addressbook") {
¡¡¡¡// format and display the address book
¡¡¡¡sectionData = "£¼p£¾Your addressbook:£¼/p£¾";
¡¡¡¡sectionData += "£¼ul£¾";
¡¡¡¡// fetch the address book from the cache
¡¡¡¡// if we don't have it yet
¡¡¡¡if (window.addressBook == undefined) {
¡¡¡¡¡¡window.addressBook = historyStorage.get("addressBook");
¡¡¡¡}
¡¡¡¡// format the address book for display
¡¡¡¡for (var i = 0; i £¼ window.addressBook.length; i++) {
¡¡¡¡¡¡sectionData += "£¼li£¾"
¡¡¡¡¡¡¡¡+ window.addressBook[i]
¡¡¡¡¡¡¡¡+ "£¼/li£¾"; 
¡¡¡¡}
¡¡¡¡sectionData += "£¼/ul£¾";
¡¡}
¡¡// If there is no sectionData, then 
¡¡// remotely retrieve it; in this example
¡¡// we use fake data for everything but the
¡¡// address book
¡¡if (sectionData == null) {
¡¡¡¡// in a real application we would remotely
¡¡¡¡// fetch this section's content
¡¡¡¡sectionData = "£¼p£¾This is section: " 
+ selectedElement.innerHTML + "£¼/p£¾"; 
¡¡}
¡¡// update the content's title and main text
¡¡var contentTitle = document.getElementById("content-title");
¡¡var contentValue = document.getElementById("content-value");
¡¡contentTitle.innerHTML = selectedElement.innerHTML;
¡¡contentValue.innerHTML = sectionData;
}
¡¡¡¡½áÊøÓï
¡¡¡¡ÏÖÔÚÎÒÃÇÒÑ¾­ÁË½âÁËÈçºÎÊ¹ÓÃRSH APIÀ´Ê¹AJAXÓ¦ÓÃ³ÌÐòÖ§³ÖÊéÇ©ÒÔ¼°ºóÍËºÍÇ°½ø°´Å¥£¬²¢Ìá¹©ÁËÊ¾Àý´úÂë£¬Äú¿É²Î¿¼¸ÃÊ¾ÀýÀ´´´½¨×Ô¼ºµÄÓ¦ÓÃ³ÌÐò¡£Ï£ÍûÄúÄÜÀûÓÃÊéÇ©ºÍÀúÊ·¼ÇÂ¼µÄÖ§³ÖÀ´ÔöÇ¿AJAXÓ¦ÓÃ³ÌÐò¡£]]></description>
		</item>
		<item>
			<title>½«¸Ä±äÎÒÃÇÉú»îµÄÕâÐ©XMLÓ¦ÓÃ</title>
			<link>http://www.kingmx.com/article.php?id=12207</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡½«¸Ä±äÎÒÃÇÉú»îµÄXMLÓÐ¹ØµÄÕâÐ©Ó¦ÓÃ£¬ÄãÖªµÀ¶àÉÙ£¿
¡¡¡¡1. XHTML
¡¡¡¡XHTML 1.0 [W3C ÍÆ¼ö±ê×¼]»ù±¾ÉÏÊÇ¶Ô HTML 4 µÄ¸ÄÐ´£¬Ê¹Æä³ÉÎª½á¹¹Á¼ºÃµÄ XML¡£HTML ÊÇÒ»ÖÖ SGML Ó¦ÓÃ£¬µ± XML ×÷Îª¶Ô SGML ÔÚ Web Ó¦ÓÃÉÏµÄ¼ò»¯ºÍ¹æ·¶»¯¿ª·¢³öÀ´µÄÊ±ºò£¬HTML£¨±¾ÉíÊÇ Web ÉÏµÄÍ¨ÓÃÓïÑÔ£©¾Í³ÉÎª²ÉÓÃ XML µÄÊ×Ñ¡Ä¿±ê¡£ÓÚÊÇ³öÏÖÁË HTML µÄÒ»ÖÖ±äÌå£¬³ÆÎª XHTML¡£XHTML ÑÐ¾¿µÄÄ¿±êÊÇÒ»ÖÖ¸üÈÝÒ×½âÎö£¨ÒòÎª XML µÄÓï·¨¸ü¼ÓÑÏ¸ñ£©µÄ HTML ÓïÑÔ¡£XHTML ºÜÈÝÒ×ÓÃÏÖ³ÉµÄ XML ¹¤¾ß´¦Àí£¬Á¦Çó¸üºÃµØ·ÖÀëÄÚÈÝÓë±íÊ¾¡£XHTML ÊÇ×î¹ÅÀÏµÄ XML Ó¦ÓÃÖ®Ò»£¬ÓÐÐí¶àÀûÒæ¼¯ÍÅÔÚ²»Í¬µÄ²¿·ÖºÍ°æ±¾ÖÐÆð¹ý×÷ÓÃ¡£ÎÒ½«¾¡Á¦¶ÔÆäÖÐµÄ´ó²¿·Ö¼ÓÒÔ¸ÅÀ¨¡£
¡¡¡¡ÓëÈýÖÖHTML 4 DTD€€€€Strict¡¢Transitional ºÍ Frameset ¶ÔÓ¦£¬XHTML 1.0 ¶¨ÒåÁË²»Í¬µÄ DTD ºÍÃû³Æ¿Õ¼ä¡£Modularization of XHTML [W3C ÍÆ¼ö±ê×¼]Ìá¹©ÁËÒ»¸ö¿ò¼Ü£¬°Ñ XHTML ·Ö½â³Éµ¥¶ÀµÄÄ£¿é£¬×÷Îª²»Í¬µÄ DTD ¶¨Òå¡£±ÈÈç£¬ÓÃÓÚ¶¨ÒåÁÐ±íµÄËùÓÐÔªËØºÍÊôÐÔ×é³ÉÒ»¸öÄ£¿é£¬¶øºÍ±íÊ¾ÓÐ¹ØµÄÔªËØÀàÐÍÔò·ÅÔÚÁíÒ»¸öÄ£¿éÖÐ¡£ÕâÑù£¬¾Í¿ÉÒÔÍ¨¹ýÔö¼Ó¡¢¼õÉÙºÍÐÞ¸ÄÍ¨ÓÃµÄ¶ÀÁ¢Ä£¿é¿ª·¢ºÍÖØÐÂ¶¨Òå XHTML¡£ÑØ×ÅÕâÌõÂ·Ïß£¬µÚÒ»²½¾ÍÊÇ XHTML Basic [W3C ÍÆ¼ö±ê×¼]£¬Ëü¶¨ÒåÁËÈÎºÎ×÷Îª XHTML µÄÓïÑÔ¶¼±ØÐë¾ßÓÐµÄ×îÐ¡ XHTML Ä£¿é¼¯¡£XHTML Basic ±¾Éí¿ÉÒÔ×÷Îª Web ¿Í»§µÄÄÚÈÝÓïÑÔ£¬ÈçÒÆ¶¯µç»°¡¢PDA¡¢Ñ°ºô»úºÍÖÃ¶¥ºÐ¡£XHTML 1.1 [W3C ÍÆ¼ö±ê×¼]»ù±¾ÉÏ¾ÍÊÇÊ¹ÓÃÄ£¿é¿ò¼Ü·Ö½âµÄ XHTML 1.0 Strict DTD¡£
¡¡¡¡XHTML 2.0 [¿ª·¢ÖÐ]ÊÇ¶Ô XHTML µÄÖØÐ´£¬Ã»ÓÐ¿¼ÂÇÓë HTML µÄÏòºó¼æÈÝ¡£ÕâÖÖÏë·¨²î²»¶à¾ÍÊÇÎª Web ±àÐ´Ò»ÖÖÈ«ÐÂµÄÄÚÈÝÓïÑÔ£¬Ñ§Ï°¹ýÈ¥µÄ¾­Ñé¶øÓÖ²»Êø¸¿ÓÚ¹ýÈ¥¡£ÆäÖÐ´óµÄ±ä»¯ÓÐ£º
¡¡¡¡È¡ÏûÁË &lt;br/&gt;¡¢ &lt;img/&gt; ÒÔ¼°ÆäËûÈÏÎª¹ýÓÚÃæÏò±íÊ¾µÄÔªËØ 
¡¡¡¡È¡Ïû HTML ·ç¸ñµÄ±íµ¥£¬¸ÄÎªÖ§³Ö XForm£¨±¾ÏµÁÐÎÄÕÂÇ°ÒÑÊö¼°£© 
¡¡¡¡È¡Ïû HTML ·ç¸ñµÄÁ´½Ó¸ÄÎª HLink£¨±¾ÏµÁÐÎÄÕÂÖÐÇ°ÒÑÊö¼°£© 
¡¡¡¡ÓÃ XML Event ´úÌæÐí¶à JavaScript Çý¶¯µÄ¶¯Ì¬ÈÎÎñ 
¡¡¡¡ÓÃ XFrame ´úÌæ HTML ·ç¸ñµÄ¿ò¼Ü
¡¡¡¡¸üÖØÒªµÄÊÇ£¬XHTML 2.0 ×öÁËÐí¶àÀ©Õ¹,ÔöÇ¿ÁË×÷Õß±í´ïÄÚÈÝ½á¹¹ºÍº¬ÒåµÄÄÜÁ¦¡£´òÆÆÏòºó¼æÈÝÐÔÒýÆðÁËÕùÒé¡£Ò»Ð©ÆÀÂÛÕßÈÏÎª±£³Ö (X)HTML µÄÃû³ÆÖ»ÐÞ¸Ä°æ±¾ºÅ»áÔì³É»ìÂÒ¡£ÆäËûÈËÔòËµÕâÐ©ÐÞ¸Ä·Ç³£±ØÒª£¬¶ø XHTML Êµ¼ÊÉÏÈÔÈ»ÊÇÒ»ÖÖ¿ÉÀ©Õ¹³¬±¾ÎÄ±ê¼ÇÓïÑÔ£¬Òò´Ë±£ÁôÔ­À´µÄÃû³Æ·Ç³£ºÏÊÊ¡£
¡¡¡¡XHTML ³£³£ºÍÆäËûÇ¶Èë¸ñÊ½Ò»ÆðÊ¹ÓÃ£¬Èç MathML¡¢RDF¡¢SVG¡¢SMIL ºÍ VoiceXML£¨ºóÃæ¶¼½«ÓèÒÔ½éÉÜ£©¡£ÕâÖÖ»ìºÏÎÄµµ³ÆÎª¶àÄ£µÄ»òÕß·Çµ¥ÌåµÄ¡£W3C¡¢ISO ÒÔ¼°ÆäËû×éÖ¯ÕýÍ¶Èë¾Þ´óµÄÅ¬Á¦¹ÄÀø¶ÔÕâÖÖÎÄµµµÄÇ¿Á¦Ö§³Ö¡£
¡¡¡¡2. Docbook
¡¡¡¡Docbook Ô­À´ÊÇÒ»ÖÖÁ÷ÐÐµÄ SGML ¸ñÊ½£¬ÓÃÓÚ±à×ëÊé¼®ºÍÎÄµµ£¬ÓÈÆäÊÇ´øÓÐ½Ï¶à¼¼ÊõÌØÐÔµÄÎÄµµ¡£ºóÀ´Ôö¼ÓÁËÒ»¸ö XML °æ±¾£¬DocBook XML V4.2 [OASIS Î¯Ô±»á¹æ·¶]ÊÇ×îÐÂµÄ³É¹û¡£Docbook ·Ç³£Á÷ÐÐ£¬µÃµ½ÁËÐí¶à¹¤¾ßµÄÖ§³Ö£¬ÆäÖÐºÜ¶à¹¤¾ß·Ç³£³ÉÊì¡£Ëü×÷Îª±ÜÃâ»ìºÏ±íÊ¾ÎÊÌâÓëÄÚÈÝ¸ñÊ½µÄÒ»¸ö·¶Àý¶øÊÜÈË×ð¾´¡£×î½ü£¬Ò»Ð©¿ª·¢ÈËÔ±¿ªÊ¼±§Ô¹Ëü´Ó¹ýÈ¥µÄ°æ±¾¼Ì³ÐÁËÌ«¶àµÄ¸ºµ££¬·×·×ÌÖÂÛ£¨ÉõÖÁ°üÀ¨ËüµÄÖ÷Òª¿ª·¢Õß Norm Walsh£©ÎªÕâÖÖ¸ñÊ½ÖØÐÂ¿ª·¢Ò»ÖÖÐÂµÄ¡¢²»Ïòºó¼æÈÝµÄ°æ±¾¡£
¡¡¡¡Text Encoding Initiative (TEI) ÉõÖÁ±È Docbook ¸ü¹ÅÀÏ£¬ÕâÖÖÎÄµµ¸ñÊ½ÔÚÄ³ÖÖ³Ì¶ÈÉÏÓë Docbook µÄÓ¦ÓÃ·¶Î§ÀàËÆ£¬Çø±ðÔÚÓÚËüÍ¨³£´¦ÀíµÄÊÇÈËÎÄÑ§¿ÆµÄÎÄ±¾¶ø·Ç¼¼ÊõÎÄ±¾¡£TEI ±¾Éí²»ÊÇÒ»ÖÖ SGML »ò XML Ó¦ÓÃ£¬¶øÊÇÒ»×éÓÃÓÚ¹¹ÔìÓïÑÔ£¨DTD£©µÄÖ¸µ¼Ô­Ôò¡£×î³£ÓÃµÄ TEI ±äÌåÊÇ TEI Lite [ÉçÇø±ê×¼]¡£TEI ÒÔÆä¸´ÔÓÐÔ³ÛÃû£¬ÕâÔÚÒ»¶¨³Ì¶ÈÉÏÏÞÖÆÁËËü±»´óÁ¿²ÉÓÃ£¬µ«ÊÇËüµÃµ½ÁËºÜºÃµÄÎ¬»¤£¬²¢ÔÚÒ»Ð©ÉçÇøÖÐÓÐ¿ñÈÈµÄÓÃ»§¡£
¡¡¡¡3. XSL-FO
¡¡¡¡Extensible Stylesheet Language Formatting Objects (XSL-FO) [W3C ÍÆ¼ö±ê×¼]ÊÇÒ»ÖÖÊ¹ÓÃ XML ¶¨ÒåµÄ±íÊ¾ÓïÑÔ¡££¨×¢Òâ£¬Á´½Ó¹æ·¶µÄ±êÌâÊÇ "Extensible Stylesheet Language (XSL)"£¬µ«ÄÚÈÝÊÂÊµÉÏÖ»°üÀ¨ XSL µÄ¸ñÊ½»¯¶ÔÏó·½Ãæ¡££©XSL-FO ÊÇÒ»ÖÖ XML ¸ñÊ½£¬¿É±»ÈÎºÎÓÃ»§´úÀíÓÃÓÚ°´ÕÕ¿ª·¢ÈËÔ±¸ø¶¨µÄ¾«È·¹æ·¶³ÊÏÖÄÚÈÝ¡£ËüµÄ½ÇÉ«ÀàËÆÓÚ Web ÓÃ»§½çÃæÖÐµÄ XHTML£¬ µ«ÊÇ¸ü¼Ó¸´ÔÓ£¬ÒÔ±ã±í´ïÊÊÓÃÓÚ´òÓ¡ÐÎÊ½µÄ¸ñÊ½»¯Ï¸½Ú¡£ÕâÐ©Ï¸½ÚºÍ¼¶ÁªÑùÊ½±í£¨CSS€€€€±¾ÏµÁÐÎÄÕÂÇ°ÒÑÊö¼°£©ÖÐËù¹æ¶¨µÄÃ»ÓÐÊ²Ã´²»Í¬£¬µ«ÊÇÔÚ XSL-FO ÖÐ£¬ÕâÐ©Ï¸½Ú¹¹³ÉÁËÕâÖÖ±ê¼ÇÓïÑÔ±¾ÉíµÄÒ»¸öÊµÀý£¬¶ø²»ÊÇ³ÊÏÖµ¥¸ö±ê¼ÇµÄÖ¸Áî¡£
¡¡¡¡XSL-FO ³£ÓÃ×÷ XSLT£¨±¾ÏµÁÐÎÄÕÂÇ°ÒÑÊö¼°£©µÄÊä³ö¸ñÊ½¡£ÊÂÊµÉÏ£¬×î³õ XSLT ºÍ XSL-FO ÊÇÒ»¸öÏµÍ³£¬³ÆÎª XSL£¬µ«ÊÇ¹¤×÷×éÃ÷ÖÇµØ½«ÕâÁ½¸ö²¿·Ö·Ö³ÉÁËÁ½¸ö²»Í¬µÄ¹æ·¶¡£ÓÐ¶àÖÖ¿ª·ÅÔ´´úÂëµÄ»òÕßÉÌÒµ»¯µÄ¹¤¾ß¿ÉÒÔ½« XSL-FO ×ª»¯³É TeX¡¢Adobe µÄ PDF ÒÔ¼°ÆäËûÊÊÓÚ´òÓ¡ºÍÅÅ°æµÄ£¨·Ç XML£©Êä³ö¸ñÊ½¡£ÕâÖÖÓ¦ÓÃÄ£Ê½Ê¹ XSL-FO ·Ç³£Á÷ÐÐ£¬µ«ÊÇ XSL-FO Ò»Ö±Ï£Íû³ÉÎª WYSIWYG ¹¤¾ß»òÕßÀàËÆ¹¤¾ßµÄÔ­Éú³ÊÏÖ¸ñÊ½£¬ËüµÄÕâÖÖÓ¦ÓÃÒ²¿ªÊ¼ÊÜµ½ÍÆ¶¯¡£XSL-FO 1.1 [¿ª·¢ÖÐ]ÊÇÕâÖÖÓïÑÔµÄÉý¼¶£¬Ôö¼ÓÁË×¢ÊÍ¡¢Ë÷Òý¡¢ÊéÇ©Ö®ÀàµÄÌØÐÔ£¬²¢ÔöÇ¿ÁËÍ¼ÏñµÄ´¦ÀíÄÜÁ¦¡£
¡¡¡¡4. SVG
¡¡¡¡Scalable Vector Graphics (SVG) 1.1 [W3C ÍÆ¼ö±ê×¼]ÊÇÒ»ÖÖÃèÊö¶þÎ¬Í¼ÏñµÄÓïÑÔ¡£ËüÖ÷ÒªÊÇÒ»ÖÖÏòÁ¿Í¼ÐÎÓïÑÔ£¬¾¡¹ÜÒ²Ö§³ÖÒ»Ð©¹âÕ¤Í¼ÐÎÌØÐÔ¡£SVG µÄ·Ç·²ÐÛÐÄÊÇÌá¹©Ò»ÖÖÊµÓÃµÄ¡¢Áé»îµÄ¡¢Ê¹ÓÃ£¨ÒÔÈß³¤ÎÅÃûµÄ£©XML ±íÊ¾µÄÍ¼Ïñ¸ñÊ½£¬¶øÇÒÔÚÕâµãÉÏ×öµÄºÜ³É¹¦¡£SVG µÄÌØÐÔ°üÀ¨£ºÇ¶Ì××ª»»¡¢¼ô¼­Â·¾¶¡¢alpha ÃÉ°å¡¢¹âÕ¤¹ýÂËÐ§¹û¡¢Ä£°å¶ÔÏó£¬µ±È»»¹ÓÐ¿ÉÀ©Õ¹ÐÔ¡£SVG Ò²Ö§³Ö¶¯»­¡¢Ëõ·ÅºÍÒÆ¶¯ÊÓÍ¼¡¢¸÷ÖÖÍ¼ÐÎÔ­Óï¡¢·Ö×é¡¢½Å±¾¡¢³¬Á´½Ó¡¢½á¹¹»¯ÔªÊý¾Ý¡¢CSS¡¢Ò»ÖÖ×¨ÓÃµÄ DOM ³¬¼¯£¨DOM ºÍ CSS Ç°ÒÑÊö¼°£©£¬²¢ÇÒºÜÈÝÒ×Ç¶ÈëÆäËû XML ÎÄµµ¡£SVG µÄÒ»Ð©Éè¼Æ¾ö²ß¾­ÀúÁË²»ºÜ¼¤ÁÒµÄÕùÂÛ£¬ÆäÖÐ°üÀ¨ÏòÁ¿Â·¾¶ÔÚµ¥¸öÊôÐÔÖÐÊ¹ÓÃ¿Õ¸ñ·Ö¸ôµÄÊý×ÖÁÐ±í±íÊ¾£¬µ«ÊÇ×ÜÌåÉÏ SVG ÒÑ¾­³ÉÎªÓ¦ÓÃ×î¹ã·ºµÄ²¢ÊÜµ½ÈÈÁÒ»¶Ó­µÄÒ»ÖÖ XML Ó¦ÓÃ¡£¸Ã¹æ·¶ÒÑ¾­±»·­Òë³ÉÁË¶àÖÖÓïÑÔ¡£
¡¡¡¡SVG 1.1 ÊÇ¶Ô SVG 1.0 [W3C ÍÆ¼ö±ê×¼]µÄ¸üÐÂ£¬Ôö¼ÓÁËÒ»Ð©ÐÂÌØÐÔ£¬Ò²°üÀ¨Ò»Ð©¸üÕý¡£×î´óµÄÇø±ðÊÇ SVG 1.1 ÒÔÀàËÆ XHTML 1.1+ µÄ·½Ê½½øÐÐÁËÄ£¿é»¯¡£ÕâÖÖÄ£¿é»¯Ê¹µÃ SVG ÄÜ¹»À©Õ¹ÉõÖÁ¾«¼ò£¬¾ÍÏñ Mobile SVG Profiles: SVG Tiny and SVG Basic [W3C ÍÆ¼ö±ê×¼]ÄÇÑù¡£ºóÕß¶¨ÒåÁË SVG Ä£¿éµÄ¾«¼ò¼¯£¬ÊÊÓÃÓÚÒÆ¶¯µç»°ºÍ PDA¡£SVG 1.2 [¿ª·¢ÖÐ]ÖÂÁ¦ÓÚÔö¼ÓÐí¶àÐÂ¹¤¾ß£¬Ê¹ SVG ²»½ö×÷ÎªÒ»ÖÖÍ¼Ïñ¸ñÊ½£¬¶øÇÒ³ÉÎª¾ßÓÐ¹ã·ºÓ¦ÓÃÇ°¾°µÄÆ½Ì¨¡£
¡¡¡¡5. VoiceXML
¡¡¡¡Voice Extensible Markup Language (VoiceXML) Version 2.0 [¿ª·¢ÖÐ]ÊÇÒ»ÖÖ´´½¨ÒôÆµ¡¢ÓïÒôºÍµç»°Ó¦ÓÃ³ÌÐòµÄÓïÑÔ¡£Ëü°üº¬µÄÒôÆµ¶Ô»°¿ò¾ßÓÐÒÔÏÂÌØµã£ºÓïÒôºÏ³É¡¢Êý×ÖÒôÆµ¡¢ÉùÒôÊ¶±ðºÍµç»°ÒôÖÊ²¦ºÅÊäÈëºÍ»°ÒôÊäÈëÂ¼ÖÆ¡£ËüÑ°Çó°Ñ»ùÓÚ Web µÄ¿ª·¢ºÍÄÚÈÝ´«µÝµÄÓÅÊÆ´øÈë½»»¥Ê½ÓïÒôÏìÓ¦Ó¦ÓÃ³ÌÐòÖÐ¡£VoiceXML ÊÇ W3C Speech Interface Framework [¿ª·¢ÖÐ]µÄÒ»²¿·Ö£¬ºóÕß»¹°üÀ¨ÆäËûµÄ±ê×¼£¬ÓÉÓÚÕâÐ©±ê×¼Óëµç»°ÐÐÒµµÄ½çÏÞ·Ç³£Ä£ºý£¬ÕâÀï¾Í²»ÌÖÂÛÁË¡£VoiceXML 2.0 ±êÖ¾×Å VoiceXML ¹æ·¶´Ó VoiceXML Forum ×ªÏò W3C£¬Ç°ÕßÈÔÈ»ÔÚÅ¬Á¦¸Ä½øÕâÖÖ¼¼Êõ¡£¹ØÓÚ VoiceXML ÒÑ¾­ÓÐÁËÒ»Ð©×¨ÀûÉùÃ÷£¬ÆäÖÐÒ»Ð©ÒâÎ¶×Å VoiceXML ÓÃ»§½«ÃæÁÙ°æÈ¨ºÍÐí¿É·ÑµÄÎÊÌâ¡£
¡¡¡¡6. MathML
¡¡¡¡Mathematical Markup Language (MathML) 2.0 [W3C ÍÆ¼ö±ê×¼]ÊÇÒ»ÖÖ XML ÓïÑÔ£¬°´ÕÕ¸Ã¹æ·¶µÄËµ·¨£¬ÆäÄ¿µÄÊÇ¡°´Ù½øÊýÑ§ºÍ¿ÆÑ§ÄÚÈÝÔÚ Web ÉÏ£¬ÒÔ¼°ÆäËûÓ¦ÓÃ³ÌÐòÈç¼ÆËã»ú´úÊýÏµÍ³¡¢´òÓ¡ÅÅ°æ¼°ÓïÒôºÏ³ÉÖÐµÄÊ¹ÓÃºÍÖØÓÃ¡£MathML ¿ÉÓÃÓÚ¶ÔÄÜ¹»¸ßÖÊÁ¿ÏÔÊ¾µÄÊýÑ§·ûºÅ±íÊ¾±àÂë£¬Ò²¿ÉÓÃÓÚÎªÓïÒåÆð×Å¸üÖØÒª×÷ÓÃµÄÓ¦ÓÃ³ÌÐò¶ÔÊýÑ§ÄÚÈÝ±àÂë£¬Èç¿ÆÑ§Èí¼þ»òÓïÒôºÏ³É¡£¡±MathML ³£ÓÃÓÚÔÚ½ÌÓý¡¢¿ÆÑ§ÂÛÎÄ¡¢¹¤Òµ¹æ·¶¡¢¹æÕÂÄÚÈÝµÈÁìÓòÖÐ±íÊ¾µÈÊ½¡¢¹«Ê½»òÕßÀàËÆµÄÐÅÏ¢¡£Õâ¸ö°æ±¾¶Ô MathML 1.01 [W3C ÍÆ¼ö±ê×¼]Ôö¼ÓÁËÒ»Ð©Ïà¶Ô½ÏÐÂµÄÌØÐÔ¡£MathML ¾­³£ºÍ XHTML¡¢SVG ÒÔ¼°ÆäËûÓ¦ÓÃÒ»ÆðÊ¹ÓÃ¡£
¡¡¡¡7. Synchronized Multimedia Integration Language (SMIL)
¡¡¡¡SMIL 2.0 [W3C ¹æ·¶]£¬°´ÕÕ W3C µÄËµ·¨£¬¡°Ö§³Ö¼òµ¥µØ±à¼­½»»¥Ê½[ÒôÆµ/ÊÓÆµ]ÑÝÊ¾ÎÄ¸å¡£SMIL Í¨³£ÓÃÓÚ[¡®·á¸»Ã½Ìå¡¯»ò¶àÃ½Ìå]ÑÝÊ¾ÎÄ¸å£¬ÆäÖÐ¼¯³ÉÁËÁ÷Ê½ÒôÆµºÍÊÓÆµ¡¢Í¼Ïñ¡¢ÎÄ±¾»òÕßÈÎºÎÆäËûÃ½ÌåÀàÐÍ¡£SMILÊÇÒ»ÖÖ¼òµ¥Ò×Ñ§µÄÀà HTML ÓïÑÔ£¬Ðí¶à SMIL ÑÝÊ¾ÎÄ¸å¶¼ÊÇÊ¹ÓÃ¼òµ¥µÄ[ÎÄ±¾±à¼­Æ÷]±àÐ´µÄ¡£¡±SMIL ÊÇ W3C Synchronized Multimedia activity µÄÒ»¸ö²úÆ·£¬ÒÑ¾­Éý¼¶µ½ÁË SMIL 1.0 [W3C ÍÆ¼ö±ê×¼]£¬Ôö¼ÓÁËºÍ¶¯»­¡¢ÔªÊý¾Ý¡¢ÄÚÈÝ¿ØÖÆ¡¢Á´½Ó¡¢¶¨Ê±ÓëÍ¬²½¡¢ÊÂ¼þ´¦Àí¡¢¹ý¶ÉÐ§¹ûµÈÓÐ¹ØµÄÌØÐÔ¡£
¡¡¡¡8. RDF
¡¡¡¡²î²»¶àÔÚ W3C ÖÂÁ¦ÓÚÒÔ XML Îª´ú±íµÄÏÂÒ»´ú±ê¼Ç¼¼ÊõµÄÍ¬Ê±£¬ËüÒ²¿ªÊ¼ÁËÏÂÒ»´ú Web ×ÊÔ´ÐÎÊ½»¯ÃèÊö¼¼ÊõµÄÑÐ¾¿¡£Resource Description Framework (RDF) [W3C ÍÆ¼ö±ê×¼]ÊÇÒ»ÖÖÄ£ÐÍ£¬ÓÃÓÚÃèÊöÒ»×é Web ×ÊÔ´ÉùÃ÷¡£ÕâÐ©ÉùÃ÷±»¸ÅÄî»¯ÎªÈýÔª×é£¬Ã¿Ò»¸ö¶¼°üº¬Ö÷Óï£¨Ò»¸ö URI€€€€±¾ÏµÁÐÎÄÕÂÇ°ÒÑÊö¼°£©¡¢Î½´Ê£¨Ò²ÊÇÒ»¸ö URI£©ºÍ¶ÔÏó£¨Ò»¸ö URI »ò×ÖÃæÊý¾ÝÖµ£©¡£ÒªÀí½âÕâÖÖÉùÃ÷µÄÒâÒå£¬¿ÉÒÔÏëÒ»ÏëÃèÊö Web Ò³ÃæµÄ HTML meta ±êÇ©¡£Èç¹ûÌ×ÓÃÔÚ RDF ÉÏ£¬Ö÷Óï¾ÍÊÇ Web Ò³Ãæ±¾ÉíµÄ URI£¬Î½´ÊÊÇÒ»¸ö±ê×¼ URI ±íÊ¾Ò»°ãµÄÃèÊö£¬¶ø¶ÔÏó¾ÍÊÇÃèÊöµÄÊµ¼ÊÎÄ±¾¡£Í¨¹ý´óÁ¿Ê¹ÓÃ URI£¬RDF Ï£Íû¾¡Á¿¼õÉÙÕâÐ©ÉùÃ÷³É·Ö±êÊ¶µÄÆçÒå£¬´Ó¶ø¸ü¼ÓÐÎÊ½»¯ÒÔ±ãÓÚ»úÆ÷´¦Àí¡£RDF ÄÜ·ñÊµÏÖÕâÒ»Ä¿±ê»¹´æÔÚÕùÒé£¬µ«ÊÇ RDF ÒÔÆä·Ç³£»îÔ¾µÄÉçÇøºÍ·¶Î§¹ã·ºµÄ¹¤¾ß¶øÖªÃû¡£
¡¡¡¡RDF ÊÇ W3C Semantic Web activity µÄÖ§Öù£»Semantic Web ÊÇ Web µÄÒ»ÖÖÊÓÏñ£¬²»½ö½öÊÇÄÚÈÝµÄ±íÊ¾£¬»¹°üÀ¨ÄÚÈÝµÄ×¢ÊÍÒÔ°ïÖú±í´ïËüµÄº¬Òå¡£±ÈÈç£¬ÔÚ Semantic Web ÖÐÃèÊö Web ×ÊÔ´Ê±£¬¿ÉÒÔÇø·Ö "python"£¨Ò»ÖÖÉß£©ºÍ "python"£¨Ò»ÖÖ¼ÆËã»ú±à³ÌÓïÑÔ£©ÕâÑùµÄ¸ÅÄî¡£RDF ±ê×¼»¯ÓÉ´óÁ¿¹æ·¶×é³É£¬°üÀ¨£º
¡¡¡¡Resource Description Framework (RDF): Concepts and Abstract Syntax [W3C ÍÆ¼ö±ê×¼]Ìá³öÁËÄ¿±ê¡¢ºËÐÄ¸ÅÄî¡¢»ù±¾Êý¾ÝÄ£ÐÍÒÔ¼° RDF µÄ³éÏóÓï·¨¡£ 
¡¡¡¡RDF/XML Syntax Specification [W3C ÍÆ¼ö±ê×¼]¶¨ÒåÁË RDF µÄÒ»ÖÖÍ¨ÓÃ XML ±íÊ¾¡£Ðí¶à¹Û²ìÕß°üÀ¨ÎÒ×Ô¼º£¬¶¼±§Ô¹ RDF/XML Óï·¨¿ÉÁ¯µÄ±ê¼ÇÉè¼Æ¡£ 
¡¡¡¡RDF Vocabulary Description Language 1.0: RDF Schema [W3C ÍÆ¼ö±ê×¼]¶¨ÒåÁËÒ»¸ö RDF ´Ê»ã±í£¬¿ÉÓÃÓÚ¶¨ÒåÆäËû RDF ´Ê»ã±í¡£ 
¡¡¡¡RDF Semantics [W3C ÍÆ¼ö±ê×¼]²»ÊÇ¹©ÄÚÐÄÈ±·¦ÓÂÆøµÄÈË¿´µÄ£¬ËüÌ½ÌÖÁË RDF Êý¾ÝÄ£ÐÍµ×²ãµÄÐÎÊ½ÊýÑ§ÀíÂÛ¡£
¡¡¡¡Web Ontology Language (OWL) [W3C ÍÆ¼ö±ê×¼]ÊÇ RDF µÄÒ»¸öÓ¦ÓÃ£¬Í¨³£ÓÃ RDF/XML ±àÂë£¬Ôö¼ÓÁË·á¸»µÄ´Ê»ã±í¿ÉÓÃÓÚ¶Ô RDF ×ÊÔ´½øÐÐÕýÊ½·ÖÀàºÍ¹éÄÉ¡£
¡¡¡¡9. XML Topic Maps
¡¡¡¡Topic Maps [ISO ¹ú¼Ê±ê×¼£¬±àºÅ 13250]Ìá¹©ÁË×éÖ¯ÐÅÏ¢µÄÒ»¸öÏµÍ³£¬ÔÚÄ³Ð©·½ÃæÊÇÓë RDF ¾ºÕùµÄÒ»ÖÖ Semantic Web ¼¼Êõ¡£¾ßÌå¶øÑÔ£¬XML Topic Maps [ISO 13250 µÄÒ»²¿·Ö]ÊÇ Topic Maps Ò»ÖÖ Web ÓÑºÃµÄ°æ±¾£¬Ê¹ÓÃ XML Óï·¨£¬²¢ÒÔ URI ×÷Îª±êÊ¶·û¡£Óë RDF ÏàËÆ£¬Topic Maps ¶¨ÒåÁËÒ»ÖÖÀàËÆÍ¼µÄÄ£ÐÍ£¬µ«¸üÏ¸Î¢µÄ²î±ðºÍÕâÑùÒ»¸öÊÂÊµÓÐ¹Ø£¬¼´ Topic Maps µÄÒ»¸öÖØÒª¹æ¶¨ÊÇÊµ¼Ê¸ÅÄîÓëÆä¼ÆËã»ú±íÊ¾µÄÇø·Ö¡£Topic Maps µÄÕâÖÖ×ö·¨ÊÇ Semantic Web µÄÒ»ÖÖ»ù±¾¹¤¾ß£¬»¹ÊÇÔö¼ÓÁË²»±ØÒªµÄ¸´ÔÓÐÔ£¬ÔÚ Topic Maps Óë RDF Ö§³ÖÕßÖ®¼äµÄÕâÖÖÕùÂÛÓÀÔ¶²»»á»®ÉÏ¾äºÅ¡£XML Topic Maps Ê¹ÓÃÁËÒ»ÖÖ·Ç³£ÇåÎúµÄ XML Óï·¨£¬ÕâÖÖÓï·¨»ùÓÚ XLink¡£
¡¡¡¡€€€€²Î¿¼×ÔIBM developworks
]]></description>
		</item>
		<item>
			<title>ÂÛAspÓëXMLµÄ¹ØÏµ</title>
			<link>http://www.kingmx.com/article.php?id=12208</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡1¡¢XML ÊÇÊ²Ã´£¿
¡¡¡¡XML½ö½öÊÇÒ»ÖÖÊý¾Ý´æ·Å¸ñÊ½£¬ÕâÖÖ¸ñÊ½ÊÇÒ»ÖÖÎÄ±¾£¨ËäÈ»XML¹æ·¶ÖÐÒ²Ìá¹©ÁË´æ·Å¶þ½øÖÆÊý¾ÝµÄ½â¾ö·½°¸£©¡£
¡¡¡¡ÊÂÊµÉÏÓÐºÜ¶àÎÄ±¾¸ñÊ½¶¼¿ÉÒÔÓÃÀ´´æ·ÅÊý¾Ý£¬ÀýÈç´ó¼ÒËùÊìÏ¤µÄ.iniÎÄ¼þ¡£ºÜ¶àÅóÓÑÔÚ³õÑ§CÓïÑÔ»òÕßBasicÓïÑÔµÄÊ±ºò£¬ÓÐÊ±¿ÉÄÜÐèÒª½«Ô´Êý¾Ý»òÕß×îÖÕ½á¹û´æ·ÅÔÚÒ»¸öÎÄ±¾ÎÄ¼þÀïÃæ£¬´æ·ÅµÄ¸ñÊ½µ±È»ÓÉ±àÐ´³ÌÐòµÄÈË×Ô¼º¶¨ÁË£¬ÄÇÃ´ÔÚ±àÐ´Õâ¸ö³ÌÐòµÄ¹ý³ÌÖÐ£¬±à³ÌÕß¾Í×Ô´´ÁËÒ»ÖÖ×Ô¶¨ÒåµÄÊý¾Ý¸ñÊ½¡£
¡¡¡¡XML¸ñÊ½±¾ÉíÒ²ÊÇÒ»ÖÖ´æ·ÅÊý¾ÝµÄ¸ñÊ½£¬ºÍÄúµ±Ê±×Ô¼º¶¨ÒåµÄÕâÖÖÊý¾ÝÎÄ¼þ±¾ÖÊÉÏ²¢ÎÞÊ²Ã´Çø±ð£¬µ«Î¨Ò»µÄ£¨Ò²ÊÇ×îÖØÒªµÄ£©Çø±ð¾ÍÊÇ£ºXML¸ñÊ½ÊÇ±»´ó¼ÒËù¹«ÈÏ¶øÇÒ¹ã·ºÖ§³ÖµÄ£¬¶øÄú×Ô¼º×öµÄÄÇ¸öÊý¾ÝÎÄ¼þ¾ÍÖ»ÓÐÄú±àÐ´µÄÄÇÒ»Á½¸ö³ÌÐòÖ§³Ö¡£
¡¡¡¡2¡¢XML ×öÊ²Ã´£¿

¡¡¡¡XML ½ö½öÓÃÀ´´æ·ÅÊý¾Ý£¬³ý´ËÖ®ÍâËüÊ²Ã´Ò²²»×ö¡£
¡¡¡¡ËäÈ» XML Ê²Ã´Ò²²»×ö£¬µ«ÊÇÓÉÓÚËüÊÇÒ»ÖÖÍ³Ò»µÄ¸ñÊ½£¬ÎÞÂÛÔÚUnixÆ½Ì¨ÏÂ£¬»¹ÊÇÔÚMacintoshÆ½Ì¨»òÕßWindowsÆ½Ì¨ÏÂ£¬¶¼Ö§³ÖÕâÖÖ¸ñÊ½¡£
¡¡¡¡Èç¹ûËµJavaÊÇÒ»ÖÖ¿çÆ½Ì¨µÄ³ÌÐòÓïÑÔ£¬ÄÇÃ´XML¾ÍÊÇÒ»ÖÖ¿çÆ½Ì¨µÄÊý¾Ý¸ñÊ½¡£Ò²ÕýÊÇÒòÎªÕâ¸öÔ­Òò£¬ÕâÁ½¸ö¿çÆ½Ì¨µÄ¶«Î÷²Å½áºÏµÃÕâÃ´½ôÃÜ£¬¼¸ÄêÇ°ÎÒ¿´µ½µÄXMLÓ¦ÓÃ¾ø´ó¶àÊý¾ÍÊÇÓÃJava¼¼ÊõÊµÏÖµÄ¡£µ«ÊÇÆäÓàºÜ¶àÓïÑÔ£¨ÀýÈçC#¡¢Perl¡¢Python£©¶ÔXMLÒ²Ö§³ÖµÃºÜºÃ¡£
¡¡¡¡Í³Ò»±ØÈ»´øÀ´¼«´óµÄºÃ´¦£¬ÄÇ¾ÍÊÇ£ºÓÐÐíÐí¶à¶à¼¼Êõ·½°¸Ö§³ÖËü¡¢À©Õ¹Ëü£¬ÀýÈç£ºDOM¡¢XSLT¡¢SVG¡¢VRML¡¢SOAP¡¢Cocoon¡¢XSPµÈµÈ¡£
¡¡¡¡3¡¢XML ²»×öÊ²Ã´

¡¡¡¡XML ²»¸ºÔðÔËÐÐÊ²Ã´³ÌÐò£¬Ò²²»¸ºÔðÊý¾ÝµÄ±íÏÖÐÎÊ½¡£Êý¾ÝµÄ±íÏÖÐÎÊ½¿ÉÒÔÍ¨¹ýXSL»òÕßCSSÊµÏÖ£¬ÔËÐÐ³ÌÐò×ÔÈ»»áÓÐAsp¡¢JavaÖ®ÀàµÄ³ÌÐòÓïÑÔÈ¥×ö£¬¶ø XML £¬³ýÁË´æ·ÅÊý¾ÝÖ®Íâ£¬±ðµÄÊÂÇéÒ»¸Å²»¹Ü¡£
¡¡¡¡4¡¢XML Óë Asp¡¡µÄ¹ØÏµ

¡¡¡¡ASPÊÇXMLµÄÓÃ»§£¬XMLÎªASPÒÔ¼°ÆäËû¼¼Êõ·½°¸Ìá¹©Ò»ÖÖÊý¾Ý´æ·Å¸ñÊ½£¬¹©°üÀ¨AspÔÚÄÚµÄÆäËûµÄ¼¼Êõ·½°¸È¥µ÷ÓÃ¡£ËûÃÇÖ®¼äµÄ¹ØÏµ¾ÍÊÇÕâÃ´µ¥´¿¡£
¡¡¡¡5¡¢"ÎÞË¢ÐÂ"ÊÇAspµÄ¹¦ÀÍÂð£¿
¡¡¡¡"ÎÞË¢ÐÂ"²»ÊÇAspµÄ¹¦ÀÍ¡£
¡¡¡¡AspÊÇ¿ØÖÆºóÌ¨µÄ£¬¶øÎÞË¢ÐÂÊÇ¿Í»§¶Ë¼¼ÊõÒª×öµÄÊÂÇé¡£Í¨³£Çé¿öÏÂÕâ¼þÊÂ»áÓÉJavaScriptÈ¥×ö£¬µ±È»Èç¹ûÄã·ÇÒªÓÃVBScriptÈ¥×öÒ²Ã»¹ØÏµ£¬µ«ÊÇ´ú¼Û¾ÍÊÇÏñMozilla¡¢FirefoxÕâÑùµÄä¯ÀÀÆ÷½«²»Ö§³Ö¡£
¡¡¡¡6¡¢XMLÓëÊý¾Ý¿âµÄ¹ØÏµ

¡¡¡¡XML¿ÉÒÔµ¥¶À×÷ÎªÒ»ÖÖÐ¡ÐÍÊý¾Ý¿â£¬Ò²¿ÉÒÔ×÷Îª´óÖÐÐÍÊý¾Ý¿â£¨ÀýÈçSQL Server¡¢Oracle¡¢MySQL¡¢DB2£©µÄCache¡£
¡¡¡¡µ±Êý¾ÝÁ¿ºÜÐ¡µÄÊ±ºò£¬Êý¾Ý¿âÒýÇæ¶ÁÐ´Êý¾ÝµÄÐ§ÂÊ¿Ï¶¨ÓÅÓÚÍ¨¹ýÎÄ±¾ÎÄ¼þ¶ÁÐ´Êý¾ÝµÄÐ§ÂÊ¡£µ«ÊÇÎÒÃÇ¿ÉÒÔÉèÏëÒ»ÏÂµ±Êý¾Ý¿âÀïÃæµÄÊý¾ÝÁ¿ºÜ´óµÄÊ±ºò£¬ÒªÔÚÕâÑùµÄÒ»¸öÊý¾Ý¿âÀïÃæ¶ÁÐ´Ò»Ìõ¼ÇÂ¼ËùÐèÒªÏûºÄµÄÊ±¼ä£¬ºÍ¶ÁÐ´Ò»¸öÌå»ý²»ÊÇºÜ´óµÄXMLÎÄ¼þ£¬Ç°ÕßÐèÒªÏûºÄµÄ·þÎñÆ÷×ÊÔ´Òª´óµÃ¶à¡£ËùÒÔ£¬ÎÒÃÇ¿ÉÒÔ°ÑXML×÷ÎªÒ»¸öÇáÁ¿¼¶µÄÐ¡ÐÍÊý¾Ý¿â£¬À´»º´æÊý¾Ý¡£
¡¡¡¡7¡¢XMl¿ÉÒÔÈ¡´úÊý¾Ý¿âÂð

¡¡¡¡´ð°¸µ±È»ÊÇ²»¿ÉÒÔ¡£·´Ö®£¬Êý¾Ý¿âÒ²²»ÄÜÈ¡´úXML¡£
]]></description>
		</item>
		<item>
			<title>XMLµÄËÄÖÖ½âÎöÆ÷Ô­Àí¼°ÐÔÄÜ±È½Ï</title>
			<link>http://www.kingmx.com/article.php?id=12209</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡1: DOM
¡¡¡¡DOM ÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎÞ¹ØµÄ·½Ê½±íÊ¾ XML ÎÄµµµÄ¹Ù·½ W3C ±ê×¼¡£DOM ÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅÏ¢Æ¬¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐÑ°ÕÒÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎÄµµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈÎºÎ¹¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶ø DOM ±»ÈÏÎªÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓÐ¼¸¸öÓÅµã¡£
¡¡¡¡Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊÇ³Ö¾ÃµÄ£¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓÃ³ÌÐòÄÜ¶ÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈÎºÎÊ±ºòÔÚÊ÷ÖÐÉÏÏÂµ¼º½£¬¶ø²»ÊÇÏñ SAX ÄÇÑùÊÇÒ»´ÎÐÔµÄ´¦Àí¡£DOM Ê¹ÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
¡¡¡¡ÁíÒ»·½Ãæ£¬¶ÔÓÚÌØ±ð´óµÄÎÄµµ£¬½âÎöºÍ¼ÓÔØÕû¸öÎÄµµ¿ÉÄÜºÜÂýÇÒºÜºÄ×ÊÔ´£¬Òò´ËÊ¹ÓÃÆäËûÊÖ¶ÎÀ´´¦ÀíÕâÑùµÄÊý¾Ý»á¸üºÃ¡£ÕâÐ©»ùÓÚÊÂ¼þµÄÄ£ÐÍ£¬±ÈÈç SAX¡£
¡¡¡¡2:SAX
¡¡¡¡ÕâÖÖ´¦ÀíµÄÓÅµã·Ç³£ÀàËÆÓÚÁ÷Ã½ÌåµÄÓÅµã¡£·ÖÎöÄÜ¹»Á¢¼´¿ªÊ¼£¬¶ø²»ÊÇµÈ´ýËùÓÐµÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓÃ³ÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾ÝÊ±¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý¾Ý´æ´¢ÔÚÄÚ´æÖÐ¡£Õâ¶ÔÓÚ´óÐÍÎÄµµÀ´ËµÊÇ¸ö¾Þ´óµÄÓÅµã¡£ÊÂÊµÉÏ£¬Ó¦ÓÃ³ÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎÄµµ£»Ëü¿ÉÒÔÔÚÄ³¸öÌõ¼þµÃµ½Âú×ãÊ±Í£Ö¹½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX »¹±ÈËüµÄÌæ´úÕß DOM ¿ìÐí¶à¡£
¡¡¡¡3:Ñ¡Ôñ DOM »¹ÊÇÑ¡Ôñ SAX £¿
¡¡¡¡¶ÔÓÚÐèÒª×Ô¼º±àÐ´´úÂëÀ´´¦Àí XML ÎÄµµµÄ¿ª·¢ÈËÔ±À´Ëµ£¬Ñ¡Ôñ DOM »¹ÊÇ SAX ½âÎöÄ£ÐÍÊÇÒ»¸ö·Ç³£ÖØÒªµÄÉè¼Æ¾ö²ß¡£ 
¡¡¡¡DOM ²ÉÓÃ½¨Á¢Ê÷ÐÎ½á¹¹µÄ·½Ê½·ÃÎÊ XML ÎÄµµ£¬¶ø SAX ²ÉÓÃµÄÊÂ¼þÄ£ÐÍ¡£ 
¡¡¡¡DOM ½âÎöÆ÷°Ñ XML ÎÄµµ×ª»¯ÎªÒ»¸ö°üº¬ÆäÄÚÈÝµÄÊ÷£¬²¢¿ÉÒÔ¶ÔÊ÷½øÐÐ±éÀú¡£ÓÃ DOM ½âÎöÄ£ÐÍµÄÓÅµãÊÇ±à³ÌÈÝÒ×£¬¿ª·¢ÈËÔ±Ö»ÐèÒªµ÷ÓÃ½¨Ê÷µÄÖ¸Áî£¬È»ºóÀûÓÃnavigation APIs·ÃÎÊËùÐèµÄÊ÷½ÚµãÀ´Íê³ÉÈÎÎñ¡£¿ÉÒÔºÜÈÝÒ×µÄÌí¼ÓºÍÐÞ¸ÄÊ÷ÖÐµÄÔªËØ¡£È»¶øÓÉÓÚÊ¹ÓÃ DOM ½âÎöÆ÷µÄÊ±ºòÐèÒª´¦ÀíÕû¸ö XML ÎÄµµ£¬ËùÒÔ¶ÔÐÔÄÜºÍÄÚ´æµÄÒªÇó±È½Ï¸ß£¬ÓÈÆäÊÇÓöµ½ºÜ´óµÄ XML ÎÄ¼þµÄÊ±ºò¡£ÓÉÓÚËüµÄ±éÀúÄÜÁ¦£¬DOM ½âÎöÆ÷³£ÓÃÓÚ XML ÎÄµµÐèÒªÆµ·±µÄ¸Ä±äµÄ·þÎñÖÐ¡£ 
¡¡¡¡SAX ½âÎöÆ÷²ÉÓÃÁË»ùÓÚÊÂ¼þµÄÄ£ÐÍ£¬ËüÔÚ½âÎö XML ÎÄµµµÄÊ±ºò¿ÉÒÔ´¥·¢Ò»ÏµÁÐµÄÊÂ¼þ£¬µ±·¢ÏÖ¸ø¶¨µÄtagµÄÊ±ºò£¬Ëü¿ÉÒÔ¼¤»îÒ»¸ö»Øµ÷·½·¨£¬¸æËß¸Ã·½·¨ÖÆ¶¨µÄ±êÇ©ÒÑ¾­ÕÒµ½¡£SAX ¶ÔÄÚ´æµÄÒªÇóÍ¨³£»á±È½ÏµÍ£¬ÒòÎªËüÈÃ¿ª·¢ÈËÔ±×Ô¼ºÀ´¾ö¶¨ËùÒª´¦ÀíµÄtag¡£ÌØ±ðÊÇµ±¿ª·¢ÈËÔ±Ö»ÐèÒª´¦ÀíÎÄµµÖÐËù°üº¬µÄ²¿·ÖÊý¾ÝÊ±£¬SAX ÕâÖÖÀ©Õ¹ÄÜÁ¦µÃµ½ÁË¸üºÃµÄÌåÏÖ¡£µ«ÓÃ SAX ½âÎöÆ÷µÄÊ±ºò±àÂë¹¤×÷»á±È½ÏÀ§ÄÑ£¬¶øÇÒºÜÄÑÍ¬Ê±·ÃÎÊÍ¬Ò»¸öÎÄµµÖÐµÄ¶à´¦²»Í¬Êý¾Ý¡£
¡¡¡¡4:JDOM
¡¡¡¡JDOMµÄÄ¿µÄÊÇ³ÉÎª Java ÌØ¶¨ÎÄµµÄ£ÐÍ£¬Ëü¼ò»¯Óë XML µÄ½»»¥²¢ÇÒ±ÈÊ¹ÓÃ DOM ÊµÏÖ¸ü¿ì¡£ÓÉÓÚÊÇµÚÒ»¸ö Java ÌØ¶¨Ä£ÐÍ£¬JDOM Ò»Ö±µÃµ½´óÁ¦ÍÆ¹ãºÍ´Ù½ø¡£ÕýÔÚ¿¼ÂÇÍ¨¹ý¡°Java ¹æ·¶ÇëÇó JSR-102¡±½«Ëü×îÖÕÓÃ×÷¡°Java ±ê×¼À©Õ¹¡±¡£´Ó 2000 Äê³õ¾ÍÒÑ¾­¿ªÊ¼ÁË JDOM ¿ª·¢¡£
¡¡¡¡JDOM Óë DOM Ö÷ÒªÓÐÁ½·½Ãæ²»Í¬¡£Ê×ÏÈ£¬JDOM ½öÊ¹ÓÃ¾ßÌåÀà¶ø²»Ê¹ÓÃ½Ó¿Ú¡£ÕâÔÚÄ³Ð©·½Ãæ¼ò»¯ÁË API£¬µ«ÊÇÒ²ÏÞÖÆÁËÁé»îÐÔ¡£µÚ¶þ£¬API ´óÁ¿Ê¹ÓÃÁË Collections Àà£¬¼ò»¯ÁËÄÇÐ©ÒÑ¾­ÊìÏ¤ÕâÐ©ÀàµÄ Java ¿ª·¢ÕßµÄÊ¹ÓÃ¡£
¡¡¡¡JDOM ÎÄµµÉùÃ÷ÆäÄ¿µÄÊÇ¡°Ê¹ÓÃ 20%£¨»ò¸üÉÙ£©µÄ¾«Á¦½â¾ö 80%£¨»ò¸ü¶à£©Java/XML ÎÊÌâ¡±£¨¸ù¾ÝÑ§Ï°ÇúÏß¼Ù¶¨Îª 20%£©¡£JDOM ¶ÔÓÚ´ó¶àÊý Java/XML Ó¦ÓÃ³ÌÐòÀ´Ëµµ±È»ÊÇÓÐÓÃµÄ£¬²¢ÇÒ´ó¶àÊý¿ª·¢Õß·¢ÏÖ API ±È DOM ÈÝÒ×Àí½âµÃ¶à¡£JDOM »¹°üÀ¨¶Ô³ÌÐòÐÐÎªµÄÏàµ±¹ã·º¼ì²éÒÔ·ÀÖ¹ÓÃ»§×öÈÎºÎÔÚ XML ÖÐÎÞÒâÒåµÄÊÂ¡£È»¶ø£¬ËüÈÔÐèÒªÄú³ä·ÖÀí½â XML ÒÔ±ã×öÒ»Ð©³¬³ö»ù±¾µÄ¹¤×÷£¨»òÕßÉõÖÁÀí½âÄ³Ð©Çé¿öÏÂµÄ´íÎó£©¡£ÕâÒ²ÐíÊÇ±ÈÑ§Ï° DOM »ò JDOM ½Ó¿Ú¶¼¸üÓÐÒâÒåµÄ¹¤×÷¡£
¡¡¡¡JDOM ×ÔÉí²»°üº¬½âÎöÆ÷¡£ËüÍ¨³£Ê¹ÓÃ SAX2 ½âÎöÆ÷À´½âÎöºÍÑéÖ¤ÊäÈë XML ÎÄµµ£¨¾¡¹ÜËü»¹¿ÉÒÔ½«ÒÔÇ°¹¹ÔìµÄ DOM ±íÊ¾×÷ÎªÊäÈë£©¡£Ëü°üº¬Ò»Ð©×ª»»Æ÷ÒÔ½« JDOM ±íÊ¾Êä³ö³É SAX2 ÊÂ¼þÁ÷¡¢DOM Ä£ÐÍ»ò XML ÎÄ±¾ÎÄµµ¡£JDOM ÊÇÔÚ Apache Ðí¿ÉÖ¤±äÌåÏÂ·¢²¼µÄ¿ª·ÅÔ´Âë¡£
¡¡¡¡5: DOM4J
¡¡¡¡ËäÈ» DOM4J ´ú±íÁËÍêÈ«¶ÀÁ¢µÄ¿ª·¢½á¹û£¬µ«×î³õ£¬ËüÊÇ JDOM µÄÒ»ÖÖÖÇÄÜ·ÖÖ§¡£ËüºÏ²¢ÁËÐí¶à³¬³ö»ù±¾ XML ÎÄµµ±íÊ¾µÄ¹¦ÄÜ£¬°üÀ¨¼¯³ÉµÄ XPath Ö§³Ö¡¢XML Schema Ö§³ÖÒÔ¼°ÓÃÓÚ´óÎÄµµ»òÁ÷»¯ÎÄµµµÄ»ùÓÚÊÂ¼þµÄ´¦Àí¡£Ëü»¹Ìá¹©ÁË¹¹½¨ÎÄµµ±íÊ¾µÄÑ¡Ïî£¬ËüÍ¨¹ý DOM4J API ºÍ±ê×¼ DOM ½Ó¿Ú¾ßÓÐ²¢ÐÐ·ÃÎÊ¹¦ÄÜ¡£´Ó 2000 ÏÂ°ëÄê¿ªÊ¼£¬Ëü¾ÍÒ»Ö±´¦ÓÚ¿ª·¢Ö®ÖÐ¡£
¡¡¡¡ÎªÖ§³ÖËùÓÐÕâÐ©¹¦ÄÜ£¬DOM4J Ê¹ÓÃ½Ó¿ÚºÍ³éÏó»ù±¾Àà·½·¨¡£DOM4J ´óÁ¿Ê¹ÓÃÁË API ÖÐµÄ Collections Àà£¬µ«ÊÇÔÚÐí¶àÇé¿öÏÂ£¬Ëü»¹Ìá¹©Ò»Ð©Ìæ´ú·½·¨ÒÔÔÊÐí¸üºÃµÄÐÔÄÜ»ò¸üÖ±½ÓµÄ±àÂë·½·¨¡£Ö±½ÓºÃ´¦ÊÇ£¬ËäÈ» DOM4J ¸¶³öÁË¸ü¸´ÔÓµÄ API µÄ´ú¼Û£¬µ«ÊÇËüÌá¹©ÁË±È JDOM ´óµÃ¶àµÄÁé»îÐÔ¡£
¡¡¡¡ÔÚÌí¼ÓÁé»îÐÔ¡¢XPath ¼¯³ÉºÍ¶Ô´óÎÄµµ´¦ÀíµÄÄ¿±êÊ±£¬DOM4J µÄÄ¿±êÓë JDOM ÊÇÒ»ÑùµÄ£ºÕë¶Ô Java ¿ª·¢ÕßµÄÒ×ÓÃÐÔºÍÖ±¹Û²Ù×÷¡£Ëü»¹ÖÂÁ¦ÓÚ³ÉÎª±È JDOM ¸üÍêÕûµÄ½â¾ö·½°¸£¬ÊµÏÖÔÚ±¾ÖÊÉÏ´¦ÀíËùÓÐ Java/XML ÎÊÌâµÄÄ¿±ê¡£ÔÚÍê³É¸ÃÄ¿±êÊ±£¬Ëü±È JDOM ¸üÉÙÇ¿µ÷·ÀÖ¹²»ÕýÈ·µÄÓ¦ÓÃ³ÌÐòÐÐÎª¡£
¡¡¡¡DOM4J ÊÇÒ»¸ö·Ç³£·Ç³£ÓÅÐãµÄJava XML API£¬¾ßÓÐÐÔÄÜÓÅÒì¡¢¹¦ÄÜÇ¿´óºÍ¼«¶ËÒ×ÓÃÊ¹ÓÃµÄÌØµã£¬Í¬Ê±ËüÒ²ÊÇÒ»¸ö¿ª·ÅÔ´´úÂëµÄÈí¼þ¡£Èç½ñÄã¿ÉÒÔ¿´µ½Ô½À´Ô½¶àµÄ Java Èí¼þ¶¼ÔÚÊ¹ÓÃ DOM4J À´¶ÁÐ´ XML£¬ÌØ±ðÖµµÃÒ»ÌáµÄÊÇÁ¬ Sun µÄ JAXM Ò²ÔÚÓÃ DOM4J¡£
¡¡¡¡6:×ÜÊö
¡¡¡¡JDOM ºÍ DOM ÔÚÐÔÄÜ²âÊÔÊ±±íÏÖ²»¼Ñ£¬ÔÚ²âÊÔ 10M ÎÄµµÊ±ÄÚ´æÒç³ö¡£ÔÚÐ¡ÎÄµµÇé¿öÏÂ»¹ÖµµÃ¿¼ÂÇÊ¹ÓÃ DOM ºÍ JDOM¡£ËäÈ» JDOM µÄ¿ª·¢ÕßÒÑ¾­ËµÃ÷ËûÃÇÆÚÍûÔÚÕýÊ½·¢ÐÐ°æÇ°×¨×¢ÐÔÄÜÎÊÌâ£¬µ«ÊÇ´ÓÐÔÄÜ¹ÛµãÀ´¿´£¬ËüÈ·ÊµÃ»ÓÐÖµµÃÍÆ¼öÖ®´¦¡£ÁíÍâ£¬DOM ÈÔÊÇÒ»¸ö·Ç³£ºÃµÄÑ¡Ôñ¡£DOM ÊµÏÖ¹ã·ºÓ¦ÓÃÓÚ¶àÖÖ±à³ÌÓïÑÔ¡£Ëü»¹ÊÇÐí¶àÆäËüÓë XML Ïà¹ØµÄ±ê×¼µÄ»ù´¡£¬ÒòÎªËüÕýÊ½»ñµÃ W3C ÍÆ¼ö£¨Óë»ùÓÚ·Ç±ê×¼µÄ Java Ä£ÐÍÏà¶Ô£©£¬ËùÒÔÔÚÄ³Ð©ÀàÐÍµÄÏîÄ¿ÖÐ¿ÉÄÜÒ²ÐèÒªËü£¨ÈçÔÚ javascript ÖÐÊ¹ÓÃ DOM£©¡£
¡¡¡¡SAX±íÏÖ½ÏºÃ£¬ÕâÒªÒÀÀµÓÚËüÌØ¶¨µÄ½âÎö·½Ê½¡£Ò»¸ö SAX ¼ì²â¼´½«µ½À´µÄXMLÁ÷£¬µ«²¢Ã»ÓÐÔØÈëµ½ÄÚ´æ£¨µ±È»µ±XMLÁ÷±»¶ÁÈëÊ±£¬»áÓÐ²¿·ÖÎÄµµÔÝÊ±Òþ²ØÔÚÄÚ´æÖÐ£©¡£
¡¡¡¡ÎÞÒÉ£¬DOM4JÊÇ×îºÃµÄ£¬Ä¿Ç°Ðí¶à¿ªÔ´ÏîÄ¿ÖÐ´óÁ¿²ÉÓÃ DOM4J£¬ÀýÈç´óÃû¶¦¶¦µÄ Hibernate Ò²ÓÃ DOM4J À´¶ÁÈ¡ XML ÅäÖÃÎÄ¼þ¡£Èç¹û²»¿¼ÂÇ¿ÉÒÆÖ²ÐÔ£¬ÄÇ¾Í²ÉÓÃDOM4J°É£¡
]]></description>
		</item>
		<item>
			<title>ÍøÒ³±à³Ì±Ø¿´:XMLÎÄ·¨·ÖÎö</title>
			<link>http://www.kingmx.com/article.php?id=12210</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡ÔÚ½øÐÐXMLÎÄ·¨·ÖÎöÖ®Ç°£¬Ê×ÏÈÓÐ±ØÒªÁË½âXMLÓï·¨µÄ»ù±¾¹æÔò£º
¡¡¡¡´Ê·¨ÌØÕ÷£º1£©XMLÇø·Ö´óÐ¡Ð´£¬ÈçÔªËØÃûÔÚ´ò¿ªºÍ¹Ø±Õ±ê¼ÇÖÐÓ¦±£³Ö´óÐ¡Ð´Ò»ÖÂ&lt;mytag&gt;¡­&lt;/mytag&gt;£¬XMLµÄ±£Áô´Ê´®Ó¦·ûºÏ´óÐ¡Ð´ÒªÇó&lt;?xml ¡­&gt; &lt;!ENTITY&gt;¡­¡£
¡¡¡¡2£©XML±£Áô±ê¼Ç×Ö·ûÎª£º&lt; &gt; &amp;£¬±£Áô×Ö·û²»ÔÊÐí³öÏÖÔÚÔªËØÃû¡¢ÔªËØÎÄ±¾¡¢ÊôÐÔÃû¡¢ÊôÐÔÖµÖÐ£¬&lt; ÓÃ»§´ò¿ª±ê¼Ç£¬&gt;ÓÃÓÚ¹Ø±Õ±ê¼Ç£¬&amp;ÓÃÓÚ×ªÒâ£¬³£¼ûµÄ×ªÒâÎª &amp;ltÉú³É&lt;£¬&amp;gtÉú³É&gt;£¬&amp;ampÉú³É&amp;£¬&amp;aposÉú³É¡¯£¬&amp;quotÉú³É¡±
¡¡¡¡3£©ÔªËØÃûÒÔÏÂ»®Ïß»ò×ÖÄ¸¿ªÊ¼£¬¿É°üº¬×ÖÄ¸¡¢Êý×Ö¡¢¾äµã¡¢Á¬×Ö·û¡¢ÏÂ»®Ïß¡¢Ã°ºÅºÍÓÃÓÚÆäËûÓïÑÔµÄÀ©Õ¹×Ö·û£¬ÔªËØÃûÖÐ²»ÄÜÓÐ¿Õ¸ñ·û£¨·Ö¸ñ·û¡¢Ìø¸ñ·û¡¢»»ÐÐ·û¡¢»Ø³µ·û£©£¬ÔªËØÃû¿ÉÒÔÓÉÃûÓòÇ°×º¡£Èç£º&lt;mytag&gt; &lt;dt:mytag&gt; ÔªËØÎÄ±¾¿ÉÒÔÊÇ³ýXML±£Áô×Ö·ûÍâµÄ×Ö·û¼¯ºÏ£¬Èç&lt;mytag&gt; my money is $2000 &lt;/mytag&gt;
¡¡¡¡4£©ÊôÐÔÃûµÄ¹æÔòÍ¬ÔªËØÃû£¬ÊôÐÔÖµÓÉµ¥ÒýºÅ»òË«ÒýºÅÀ¨Ô¼ÆäÖÐ£¬¿ÉÓÉ³ýXML±£Áô×Ö·ûÒÔÍâµÄ×Ö·û´®×é³É£¬Èç£º&lt;mytag myprop=¡±proper value¡±&gt;¡£ÊôÐÔÃûÓÐxmlnsÇ°×º£¬±íÃ÷¸ÃÊôÐÔ¶¨ÒåÁËÒ»¸öÃûÓò£¬Èç£º&lt;mytag xmlns:ns=¡±http://www.myweb.com/myschema¡±&gt;
¡¡¡¡¾ä·¨ÌØÕ÷£º1£©XMLÎÄµµÓÉÒ»¸öXMLËµÃ÷¡¢¶à¸ö¿ÉÑ¡µÄÎÄµµËµÃ÷¡¢¶à¸ö¿ÉÑ¡µÄXMLÖ¸Áî¡¢¶à¸ö¿ÉÑ¡µÄXML×¢ÊÍºÍÒ»¸ö¸ùÔªËØµÄÊý¾ÝÌå×é³É£¬´ËÍâ»¹¿ÉÒÔÓÐÇ¶ÈëÓï¾äÖÐµÄCDATA¶Î£¬Èç£º

¡¡¡¡&lt;?xml ¡­?&gt; /*XMLËµÃ÷*/
¡¡¡¡&lt;!DOCTYPE ¡­&gt; /*XMLÎÄµµËµÃ÷*/
¡¡¡¡&lt;!-- ¡­ --&gt; /*XML×¢ÊÍ*/
¡¡¡¡&lt;?xml-stylesheet ¡­?&gt; /*XMLÖ¸Áî*/
¡¡¡¡&lt;root&gt; /*¸ùÊý¾ÝÔªËØ*/
¡¡¡¡&lt;child&gt;
¡¡¡¡¡­&lt;![CDATA[¡­]]&gt;
¡¡¡¡&lt;/child&gt;
¡¡¡¡&lt;/root&gt;

¡¡¡¡2£©XMLËµÃ÷ÓÉ&lt;?xml´ò¿ª£¬ÓÉ?&gt;±ê¹Ø±Õ£¬ÆäÖÐ°üº¬°æ±¾¡¢±àÂëµÈ¿ÉÑ¡ËµÃ÷£¬Èç£º&lt;?xml version=¡±1.0¡± encoding=¡±UTF-9¡±?&gt;
¡¡¡¡3£©XMLÎÄµµËµÃ÷ÓÉ&lt;!ºÍ±£Áô´®´ò¿ª£¬ÓÉ&gt;¹Ø±Õ£¬Èç£º&lt;!DOCTYPE mydoc SYSTEM ¡°mydoc.dtd¡±&gt;
¡¡¡¡4)XMLÖ¸ÁîÓÉ&lt;?ºÍ±£Áô´®´ò¿ª£¬ÓÉ?&gt;¹Ø±Õ£¬Èç£º&lt;?xml-stylesheet type=¡±text/xsl¡± href=¡±mystyle.xsl¡±?&gt;
¡¡¡¡5£©XML×¢ÊÍÓÉ&lt;!¡ª¡ª´ò¿ª£¬ÓÉ¡ª¡ª&gt;¹Ø±Õ£¬Èç£º&lt;!--&nbsp;&nbsp; this is my xml document&nbsp; --&gt;
¡¡¡¡6£©XMLÔªËØÓÉ&lt;ÔªËØÃû&gt;´ò¿ª£¬ÓÉ/&gt;£¬»ò&lt;/ÔªËØÃû&gt;¹Ø±Õ£¬ÔªËØµÄ´ò¿ªºÍ¹Ø±Õ±ê¼ÇÏà»¥Æ¥Åä£¬Èç&lt;myteg ../&gt;»ò&lt;mytag&gt;¡­&lt;/myteg&gt;£¬XMLµÄÔªËØÔÊÐíÇ¶Ì×£¬Ó¦´Ë»¹Ó¦±£³Ö²ã´ÎÉÏµÄÆ¥Åä£¬Èç&lt;myteg&gt;&lt;subtag&gt;..&lt;/subtag&gt;&lt;/mytag&gt;¡£
¡¡¡¡7£©CDTATA¶ÎÓÉ&lt;![CDATA[&gt;´ò¿ª£¬ÓÉ]]&gt;¹Ø±Õ£¬ÓÃÓÚÊ¹¾ÓÓÚÆäÖÐµÄÓï¾ä¹æ±ÜXML½âÎö¹æÔò¡£Èç£º&lt;![CDATA[ select * from mytable where thefield &lt;= ¡®100¡¯ ]]&gt;
¡¡¡¡¸ù¾ÝÒÔÉÏµÄXMLÎÄ·¨ÌØÕ÷£¬¿ÉÒÔ¹¹Ôì³öÓÃÓÚ´Ê·¨·ÖÎöµÄÕýÔòÊ½ºÍÓÃÓÚ¾ä·¨·ÖÎöµÄÏÂÍÆ×Ô¶¯»ú½á¹¹¡£
¡¡¡¡XML´Ê·¨ÕýÔòÊ½£º
¡¡¡¡#define digit [1,2,¡­,9] /*Êý×Ö×Ö·û*/
¡¡¡¡#define letter [a,b,¡­,z,A,B,¡­,Z] /*×ÖÄ¸×Ö·û*/
¡¡¡¡#define signs [~, ! , @, #, %, ^, &amp;,*,(, ), ?, :, ;, ¡°, ¡®, ,, ., /,-, _, +, =, |, /] /*·ûºÅ×Ö·û*/
¡¡¡¡#define ascii2 [0x80,¡­,0xFF] /*ASCII chart2 À©Õ¹×Ö·û*/
¡¡¡¡#define space [0x20, /t, /r, /n] /*¿Õ¸ñ·û£¬Ìø¸ñ·û£¬»Ø³µ·û£¬»»ÐÐ·û*/
¡¡¡¡#define reserve [&lt; , &gt;, &amp;] /*XML±£Áô×Ö·û*/
¡¡¡¡1£© ÔªËØÃûµÄÕýÔòÊ½£º
¡¡¡¡element_name -&gt; (_ | letter | ascii2) (¦Å| _ | - | : | . | digit | letter | signs | ascii2)*
¡¡¡¡2£© ÔªËØÎÄ±¾µÄÕýÔòÊ½£º
¡¡¡¡element_text -&gt; (¦Å| not reserve)*
¡¡¡¡3£© ÊôÐÔÃûµÄÕýÔòÊ½£º
¡¡¡¡proper_name -&gt; (_ | letter | ascii2) (¦Å| _ | - | : | . | digit | letter | signs | ascii2)*
¡¡¡¡4£© ÊôÐÔÎÄ±¾µÄÕýÔòÊ½£º
¡¡¡¡proper_value -&gt; (¦Å| not reserve)*
¡¡¡¡XML¾ä·¨½á¹¹£º
¡¡¡¡xml_document -&gt; xml_header (¦Å| xml_declare | xml_instruct | xml_comments)* xml_element
¡¡¡¡xml_header -&gt; [&lt;?xml](space)*(proper_token)*(space)* [?&gt;]
¡¡¡¡xml_declare -&gt; [&lt;!]reserve_word(space)*(token)*(space)*[&gt;]
¡¡¡¡xml_instruct -&gt; [&lt;?]reserve_word(space)* (proper_token)* (space)*[?&gt;]
¡¡¡¡xml_comments -&gt; [&lt;!--](¦Å| digit | letter | signs | ascii2 | space)*[-- &gt;]
¡¡¡¡xml_element -&gt; [&lt;]element_name (space)*( ¦Å| proper_token)*(space)*[/&gt;] | 
¡¡¡¡[&lt;]element_name(space)*( ¦Å | proper_token)*(space)*[&gt;]
¡¡¡¡[¦Å| &lt;![CDATA[ ]element_text[¦Å| ]]&gt;]
¡¡¡¡(¦Å | xml_element)*(space)*[&lt;/]element_name[&gt;]
¡¡¡¡proper_token -&gt; proper_name(space)*[=](space)* [¦Å| &lt;![CDATA[ ] [¡® | ¡°]proper_value[¡® | ¡°] [¦Å| ]]&gt;]
¡¡¡¡reserve_word -&gt; [DOCTYPE | ELEMENT | NOTATION | ¡­]
¡¡¡¡token -&gt; (¦Å| not reserve)* 
¡¡¡¡·ÖÎöXMLÎÄ·¨ÐèÒª¹¹ÔìÒ»¸öÏÂÍÆ×Ô¶¯»ú£¬ËüµÄ½á¹¹¶¨ÒåÈçÏÂ£º
¡¡¡¡1£©STACK_DFA mata_xml_doc = &lt;Q,¦²£¬¦Ò£¬q,¦£,T,S &gt;
¡¡¡¡Q: {¡­} /*Ïê¼ûºóÃæµÄ×´Ì¬¼¯ºÏ*/
¡¡¡¡¦²: /*Ö¸Ïò´ý½âÎöµÄXMLÔªËØ´Ê´®*/
¡¡¡¡¦Ò: Q¡Á¦²-&gt;Q /*×´Ì¬×ªÒÆº¯Êý£¬¼û×´Ì¬×ªÒÆÁÐ±í*/
¡¡¡¡q: {NIL_SKIP} /*³õÊ¼×´Ì¬*/
¡¡¡¡¦£: {NIL_FAILED,NIL_SUCCEED} /*ÖÕ½á×´Ì¬¼¯ºÏ*/
¡¡¡¡S:&nbsp; {Q/*×´Ì¬*/, N/*DOM½Úµã*/&gt;,&lt;¡­&gt;} /*ÏÂÍÆÕ»*/
¡¡¡¡2£©Õ»¶¥·û¼¯ºÏÓÃÓÚ·´Ó³µ±Ç°·ÖÎö½ÚµãµÄÀàÐÍ£º
¡¡¡¡T£º{NIL/*¿Õ*/, TG/*±ê¼Ç*/, NS/*ÔªËØ*/, IS/*Ö¸Áî*/, DS/*ÉùÃ÷*/, CD/*CDATA½ç¶Î*/,CM/*×¢ÊÍ*]]></description>
		</item>
		<item>
			<title>XML¼¼ÊõÉÏ´«ÎÄ¼þ</title>
			<link>http://www.kingmx.com/article.php?id=12211</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡XML¼¼ÊõÉÏ´«ÎÄ¼þ 
¡¡¡¡ÀàÐÍ£º XML/Biztalk
¡¡¡¡¸ÅÊö
¡¡¡¡±¾ÎÄ½²½âÁËÒ»¸öÊ¹ÓÃXML¼¼ÊõÉÏ´«ÎÄ¼þµÄÀý×Ó£¬Ê¹ÓÃ¸Ã·½·¨Ã»ÓÐ´«Í³·½·¨ÖÐµÄÖÖÖÖÏÞÖÆ¡£ Õâ¸öÀý×Ó½²ÊöÁËÈçºÎÊ¹ÓÃMSXML3.0ºÍADO Stream¶ÔÏóÀ´ÊµÏÖÕâÖÖÐÂµÄÉÏ´«·½·¨¡£ºÃ´¦ÓÐºÜ¶à£¬±ÈÈç£¬²»ÐèÒª×¨ÓÃµÄÉÏ´«×é¼þ¡£
ÒýÑÔ
ÎªÁËÔÚHTMLÍøÒ³ÖÐ»ñµÃÉÏ´«¹¦ÄÜ£¬ÔÚ¿Í»§¶ËÎÒÃÇ¿ÉÒÔÊ¹ÓÃÈçÏÂ¸ñÊ½µÄFORM£º
&lt; FORM NAME="myForm" ACTION="TargetURL.asp" ENCTYPE="multipart/form-data"METHOD="post" &gt;
&lt; INPUT TYPE="file" NAME="myFile" &gt;
&lt; INPUT TYPE="submit" VALUE="Upload File" &gt;
&lt; /FORM &gt;
¡¡¡¡ÕâÖÖ·½°¸ÔÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËµÄÊ¹ÓÃ¶¼ÓÐºÜ¶àÏÞÖÆ¡£Ê×ÏÈ£¬ÎÒÃÇ±ØÐëÊ¹ÓÃPOST·½·¨£¬ÒòÎªGET·½·¨ÎÞ·¨´¦ÀíÕâÑùµÄ±íµ¥Êý¾Ý¡£²¢ÇÒ£¬Ã»ÓÐÊ²Ã´·½·¨¿ÉÒÔÔÚ²»Ê¹ÓÃ±íµ¥µÄÇé¿öÏÂÒý·¢Ò»¸öPOST¶¯×÷¡£°ÑÊý¾Ý·¢ËÍ¸ø±íµ¥´¦Àí³ÌÐòºó£¬ä¯ÀÀÆ÷½«»á°Ñ´¦Àí³ÌÐò×÷ÎªÐÂÒ³Ãæ¼ÓÔØ£¬È»ºóÊ¹ÓÃÕß»á¿´µ½Ò»¸ö²»ÌÖÈËÏ²»¶µÄÒ³Ãæ×ª»»¹ý³Ì¡£
¡¡¡¡ENCTYPEÊôÐÔÎª±íµ¥¶¨ÒåÁËMIME±àÂë·½Ê½£¬ÉÏ´«ÎÄ¼þµÄ±íµ¥µÄENCTYPEÊôÐÔ±ØÐëÊ¹ÓÃ¡°multipart/form-data¡±¡£°ÑÕâ¸öÊôÐÔÉèÖÃÎª¡°multipart/form-data¡±¾Í´´½¨ÁËÒ»¸öÓë´«Í³½á¹¹²»Í¬µÄPOST»º³åÇø£¨¸´ºÏ½á¹¹£©£¬ASPµÄRequest¶ÔÏóÎÞ·¨·ÃÎÊÕâÑùµÄ±íµ¥ÄÚÈÝ¡£ËùÒÔ£¬ÎÒÃÇ¿ÉÒÔÊ¹ÓÃRequest.binaryRead·½·¨À´·ÃÎÊÕâÐ©Êý¾Ý£¬µ«ÊÇÎÞ·¨Ê¹ÓÃ½Å±¾ÓïÑÔÀ´Íê³ÉÕâÒ»ÇÐ¡£Request.binaryRead·½·¨·µ»ØÒ»¸öVTarrayÐÍÊý¾Ý£¨Ö»°üº¬ÎÞ·ûºÅÒ»×Ö½Ú×Ö·ûµÄVariantÐÍÊý×é£©¡£µ«ÊÇ½Å±¾ÓïÑÔÖ»ÄÜ´¦ÀíVariantÐÍÊý¾Ý¡£ÎªÁË½â¾öÕâ¸öÎÊÌâ£¬Ö»ÄÜÊ¹ÓÃ×¨ÓÃµÄASPÉÏ´«×é¼þ£¬»òÕßISAPIÀ©Õ¹³ÌÐò£¬±ÈÈçCPSHOST.DLL¡£ÕâÊÇÉè¼ÆÉÏµÄÏÞÖÆ¡£
ÐÂµÄÉÏ´«·½°¸
ÐèÒª°´ÕÕÈçÏÂ²½Öè²Ù×÷¡£
¿Í»§¶Ë£º
Ê¹ÓÃMSXML 3.0´´½¨Ò»¸öXMLÎÄµµ
´´½¨Ò»¸öÕë¶Ô¶þ½øÖÆÄÚÈÝµÄXML½Úµã
Ê¹ÓÃADO Stream object½«ÉÏ´«µÄÎÄ¼þÊý¾Ý·ÅÈë¸Ã½Úµã
Ê¹ÓÃXMLHTTP¶ÔÏó°ÑÕâ¸öXMLÎÄµµ·¢ËÍ¸øWeb·þÎñÆ÷
·þÎñÆ÷¶Ë£º
¡¡¡¡´ÓRequest¶ÔÏóÖÐ¶Á³öXMLÎÄµµ¶Á³ö¶þ½øÖÆ½ÚµãÖÐµÄÊý¾Ý²¢ÇÒ´æ´¢µ½·þÎñÆ÷ÉÏµÄÎÄ¼þÖÐ¡£µ±È»£¬ÎÒÃÇÒ²¿ÉÒÔ½«Æä´æ´¢µ½Êý¾Ý¿âµÄBLOBÐÍ×Ö¶ÎÖÐ¡£
¡¡¡¡ÔÚ½âÊÍÕâ¶Î´úÂëÖ®Ç°£¬ÎÒÃÇ¿ÉÒÔ¶ÔÕâ¸ö·½°¸½øÐÐÒ»Ð©Ë¼¿¼¡£
¶ÔXMLµÄË¼¿¼
¡¡¡¡XML¸ñÊ½Ö§³ÖºÜ¶àÊý¾ÝÀàÐÍ£¬±ÈÈçnumeric, float, characterµÈµÈ¡£ºÜ¶à×÷Õß½«XML¶¨ÒåÎªASCII¸ñÊ½£¬µ«ÊÇÎÒÃÇ²»ÄÜºöÊÓ£¬XML¼¼Êõ»¹¿ÉÒÔÊ¹ÓÃ¡°bin.base64¡±Êý¾ÝÀàÐÍÀ´ÃèÊö¶þ½øÖÆÐÅÏ¢¡£Õâ¸öÌØÐÔÔÚMS XML3.0½âÎöÆ÷ÖØµÃµ½ÍêÈ«µÄÖ§³Ö£¬µ«ÊÇÄ¿Ç°»¹ÐèÒªÒ»Ð©ÌØ±ðÉèÖÃ¡£¸Ã¶ÔÏóÌá¹©Ò»Ð©¿ÉÒÔ¶Ô¶þ½øÖÆÊý¾Ý½øÐÐÍêÈ«¿ØÖÆµÄÊôÐÔ£º
¡¡¡¡obj_node.dataType - ¸Ã¿É¶ÁÐ´µÄÊôÐÔ¶¨ÒåÁËÌØ¶¨½ÚµãµÄÊý¾ÝÀàÐÍ¡£MSXML½âÎöÆ÷Ö§³Ö¸ü¶àµÄÊý¾ÝÀàÐÍ£¨²Î¼ûMSDN£ºhttp://msdn.microsoft.com/library/psdk/xmlsdk/xmls3z1v.htm£©
¶ÔÓÚ¶þ½øÖÆÊý¾Ý£¬ÎÒÃÇ¿ÉÒÔÊ¹ÓÃ¡°bin.base64¡±ÀàÐÍ¡£
¡¡¡¡obj_node.nodeTypedValue - ¸Ã¿É¶ÁÐ´ÊôÐÔ°üº¬ÁË°´ÕÕÖÆ¶¨ÀàÐÍ±íÊ¾µÄÖ¸¶¨½ÚµãµÄÊý¾Ý¡£
ÎÒÃÇ¿ÉÒÔ´´½¨Ò»¸ö°üº¬¶à¸öbin.base64ÀàÐÍ½ÚµãµÄXMLÎÄµµ£¬½ÚµãÖÐ°üº¬ÉÏ´«µÄÎÄ¼þ¡£ÕâµãÌØÐÔ¿ÉÒÔÊ¹ÓÃÒ»¸öPOSTÒ»´ÎÉÏ´«¶à¸öÎÄ¼þ¡£
¡¡¡¡ÎÒÃÇ¿ÉÒÔÊ¹ÓÃXMLHttpRequest¶ÔÏóºÍPOST·½·¨·¢ËÍÒ»¸öXMLÎÄµµ¸øWeb·þÎñÆ÷¡£¸Ã¶ÔÏóÎªHTTP·þÎñÆ÷Ìá¹©ÁË¿Í»§¶ËÐ­ÒéÖ§³Ö£¬ÔÊÐíÔÚWeb·þÎñÆ÷ÉÏ·¢ËÍºÍ½ÓÊÜMS XMLDOM¶ÔÏó¡£XMLHttpRequestÊÇInternet Explorer 5ÄÚÖÃµÄCOM¶ÔÏó£¨²»ÐèÒª¶¨ÖÆ°²×°£©£¬²¢ÇÒ·¢ËÍÍê±ÏºóÎÞÐè×ª»»Ò³Ãæ¡£
¶ÔADO Stream¶ÔÏóµÄË¼¿¼
¡¡¡¡ÎÒÃÇ¿ÉÒÔÔÚ¿Í»§¶Ë´´½¨Ò»¸ö°üº¬Ò»¸ö»òÕß¶à¸ö¶þ½øÖÆ½ÚµãµÄXMLÎÄµµ¡£ÎÒÃÇ»¹±ØÐë°ÑÎÄ¼þÄÚÈÝÌîÈë½ÚµãÖÐ¡£µ«ÊÇºÜ²»ÐÒ£¬½Å±¾ÓïÑÔ²»ÄÜ·ÃÎÊ±¾µØÎÄ¼þÏµÍ³£¬²¢ÇÒScripting.FileSystem¶ÔÏó£¨ÊÇWin32ÏµÍ³µÄÄÚÖÃ¶ÔÏó£©µ½Ä¿Ç°ÎªÖ¹»¹²»ÄÜ·ÃÎÊ¶þ½øÖÆÎÄ¼þ¡£ÕâÊÇÉè¼ÆÉÏµÄÏÞÖÆ¡£ËùÒÔÎÒÃÇÐèÒªÁíÍâÕÒÒ»¸ö¿ÉÒÔÌá¹©¶Ô±¾µØ¶þ½øÖÆÎÄ¼þµÄ·ÃÎÊµÄCOM¶ÔÏó¡£
¡¡¡¡ADO Stream¶ÔÏó£¨MDAC 2.5ÖÐµÄ×é¼þ£©Ìá¹©ÁË¶Á¡¢Ð´ºÍ¹ÜÀí¶þ½øÖÆÁ÷Êý¾ÝµÄÊÖ¶Î¡£×Ö½ÚÁ÷µÄÄÚÈÝ¿ÉÒÔÊÇÎÄ±¾£¬»òÕß¶þ½øÖÆÊý¾Ý£¬²¢ÇÒÃ»ÓÐÈÝÁ¿ÉÏµÄÏÞÖÆ¡£ÔÚADO 2.5ÖÐ£¬Microsoft¶ÔStream¶ÔÏóµÄ½éÉÜ²»ÊôÓÚADO¶ÔÏó½á¹¹µÄÈÎºÎÒ»²ã£¬ËùÒÔ£¬ÎÒÃÇÎÞÐèÀ¦°ó¼´¿ÉÊ¹ÓÃ¸Ã¶ÔÏó¡£
¡¡¡¡±¾ÎÄÖÐÊ¹ÓÃStream¶ÔÏóÀ´·ÃÎÊÎÄ¼þÄÚÈÝ£¬ÔÙ°ÑÄÚÈÝ´æÈëXML½Úµã¡£
¿Í»§¶Ë
ÒÔÏÂÊ¾Àý´úÂëÊ¹ÓÃStreamºÍMSXML¶ÔÏóÍê³ÉÎÄ¼þÉÏ´«¶¯×÷¡£

&lt; HTML &gt;
&lt; HEAD &gt;&lt; TITLE &gt;File Send&lt; /TITLE &gt;&lt; /HEAD &gt;
&lt; BODY &gt;
&lt; INPUT id=btn_send name="btn_send" type=button value="FILE SEND" &gt;
&lt; DIV id=div_message &gt;Ready 
&lt; /BODY &gt;
&lt; /HTML &gt;
&lt; SCRIPT LANGUAGE=JavaScript &gt;
// ÉÏ´«º¯Êý
function btn_send.onclick()
{
// ´´½¨ ADO-stream ¶ÔÏó
var ado_stream = new ActiveXObject("ADODB.Stream");
// ´´½¨°üº¬Ä¬ÈÏÍ·ÐÅÏ¢ºÍ¸ù½ÚµãµÄ XMLÎÄµµ
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
xml_dom.loadXML(' ');
// Ö¸¶¨Êý¾ÝÀàÐÍ
xml_dom.documentElement.setAttribute("xmlns:dt", "urn:schemas-microsoft-com:datatypes");
// ´´½¨Ò»¸öÐÂ½Úµã£¬ÉèÖÃÆäÎª¶þ½øÖÆÊý¾Ý½Úµã
var l_node1 = xml_dom.createElement("file1");
l_node1.dataType = "bin.base64";
// ´ò¿ªStream¶ÔÏó£¬¶ÁÔ´ÎÄ¼þ
ado_stream.Type = 1; // 1=adTypeBinary 
ado_stream.Open(); 
ado_stream.LoadFromFile("c://tmp//myfile.doc");
// ½«ÎÄ¼þÄÚÈÝ´æÈëXML½Úµã
l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();
xml_dom.documentElement.appendChild(l_node1);
// ¿ÉÒÔ´´½¨¶à¸ö¶þ½øÖÆ½Úµã£¬Ò»´ÎÉÏ´«¶à¸öÎÄ¼þ
// °ÑXMLÎÄµµ·¢ËÍµ½Web·þÎñÆ÷
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","./file_recieve.asp",false);
xmlhttp.send(xml_dom);
// ÏÔÊ¾·þÎñÆ÷·µ»ØµÄÐÅÏ¢
div_message.innerHTML = xmlhttp.ResponseText;
}
&lt; /SCRIPT &gt;
·þÎñÆ÷¶Ë
ÒÔÏÂ´úÂëÊ¹ÓÃÏàÍ¬µÄ¶ÔÏóÌá¹©·þÎñÆ÷¶ËµÄÉÏ´«´¦Àí¹¦ÄÜ¡£

&lt; %@ LANGUAGE=VBScript% &gt;
&lt; % Option Explicit
Response.Expires = 0 
' ¶¨Òå±äÁ¿ºÍ¶ÔÏó¡£
dim ado_stream
dim xml_dom
dim xml_file1
' ´´½¨ Stream ¶ÔÏó
set ado_stream = Server.CreateObject("ADODB.Stream")
' ´ÓRequest¶ÔÏó´´½¨ XMLDOM¶ÔÏó
set xml_dom = Server.CreateObject("MSXML2.DOMDocument")
xml_dom.load(request)
' ¶Á³ö°üº¬¶þ½øÖÆÊý¾ÝµÄ½Úµã
set xml_file1 = xml_dom.selectSingleNode("root/file1")
' ´ò¿ªStream¶ÔÏó£¬°ÑÊý¾Ý´æÈëÆäÖÐ 
ado_stream.Type = 1 ' 1=adTypeBinary 
ado_stream.open 
ado_stream.Write xml_file1.nodeTypedValue
' ÎÄ¼þ´æÅÌ
ado_stream.SaveToFile "c:/tmp/upload1.doc",2 ' 2=adSaveCreateOverWrite 
ado_stream.close
' Ïú»Ù¶ÔÏó 
set ado_stream = Nothing 
set xml_dom = Nothing
' Ïòä¯ÀÀÆ÷·µ»ØÐÅÏ¢
Response.Write "Upload successful!"
% &gt;
Ò²¿ÉÒÔÊ¹ÓÃStream¶ÔÏó°ÑÊý¾Ý·Åµ½Êý¾Ý¿âµÄBLOBÐÍ×Ö¶ÎÖÐ¡£
Ê¹ÓÃ¸Ã·½·¨µÄÒæ´¦
²»ÒýÆðÒ³Ãæ×ª»»¡£
²»ÐèÒª×¨ÓÃ×é¼þ¡£
¿ÉÍ¬Ê±ÉÏ´«¶à¸öÎÄ¼þ¡£
¡¡¡¡Õâ¶Î³ÌÐòÊÇ´¿½Å±¾Ð´³ÉµÄ£¬¿ÉÒÔºÜÈÝÒ×µÄ²åÈëµ½ÆäËû´úÂëÖÐ£¬¶ø²»ÐèÒªÈÎºÎHTML¶ÔÏóµÄÅäºÏ¡£»¹¿ÉÒÔ°ÑÕâ¸öÂß¼­ÔÚÈÎºÎÖ§³ÖCOM±ê×¼µÄÓïÑÔÖÐÊµÏÖ¡£
ÏµÍ³°²È«¿¼ÂÇ
¡¡¡¡¸Ã·½·¨Ö»ÄÜÊ¹ÓÃÓÚÄÚ²¿ÍøÂç£¬ÒòÎªËüÐèÒªIE5µÄ°²È«¼¶±ðÉèÖÃÎª¡°µÍ¡±¡£±ØÐë£º
¡¡¡¡ÔÊÐí½Å±¾ºÍActiveX¶ÔÏó¡£¸ÃÉèÖÃÔÊÐíä¯ÀÀÆ÷Ö´ÐÐÀàËÆ "myobj = new activexobject(...)"µÄ JScriptÓï¾ä£»
¡¡¡¡±ØÐëÔÊÐí´©Ô½Óò·ÃÎÊÊý¾ÝÔ´¡£Õâ¸öÉèÖÃÔÊÐíÔÚ¿Í»§¶ËÊ¹ÓÃStream¶ÔÏó¡£»¹±ØÐëÔÚ·þÎñÆ÷ºÍ¿Í»§¶Ë¶¼°²×°MS XML DOM 3.0 ºÍMDAC 2.5 ¡£
]]></description>
		</item>
		<item>
			<title>XMLHTTPÏÂÔØÔ¶³ÌÊý¾ÝÊä³öµ½ä¯ÀÀÆ÷</title>
			<link>http://www.kingmx.com/article.php?id=12212</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
&nbsp; ÀûÓÃxmlhttp¶ÔÏó»ñÈ¡Ô¶³ÌµÄÊý¾Ý£¬È»ºóÓÃ¶þ½øÖÆÊä³öµ½¿Í»§ä¯ÀÀÆ÷£¬ÈÃ¿Í»§ÏÂÔØÊý¾Ý,´ËÀý´ÓÄ³Ò»Ô¶³Ì·þÎñÆ÷»ñÈ¡Ò»¸öÑ¹Ëõ°ü£¬²¢ÇÒÊä³öµ½ä¯ÀÀÆ÷Ìá¹©¿Í»§ÏÂÔØ.
&nbsp; ³ÌÐò´úÂë:
&nbsp; &lt;%
&nbsp; Response.Buffer = True 
&nbsp; Dim objXMLHTTP, xml
&nbsp; Set xml = Server.CreateObject("Microsoft.XMLHTTP") '´´½¨¶ÔÏó
&nbsp;&nbsp;&nbsp; 
&nbsp; xml.Open "GET","http://www.4guysfromrolla.com/webtech/code/mitchell-pres.zip",False '&nbsp;&nbsp; 'ÉèÖÃ¶ÔÏó,¾ßÌåxmlhttpÏêÏ¸Ê¹ÓÃ·½·¨Çë¼û:http://www.cnsxml.com/blogview.asp?logID=273&nbsp; ¡¶XMLHTTP ¶ÔÏó¼°Æä·½·¨¡·Ò»ÎÄ
&nbsp; xml.Send '·¢ËÍÇëÇó
&nbsp;&nbsp;&nbsp; 
&nbsp; Response.AddHeader "Content-Disposition", "attachment;filename=mitchell-pres.zip"&nbsp; 'Ìí¼ÓÍ·¸øÕâ¸öÎÄ¼þ
&nbsp;&nbsp;&nbsp; 
&nbsp; Response.ContentType = "application/zip" 'ÉèÖÃÊä³öÀàÐÍ
&nbsp;&nbsp;&nbsp; 
&nbsp; Response.BinaryWrite xml.responseBody ¡¯Êä³ö¶þ½øÖÆµ½ä¯ÀÀÆ÷
&nbsp; Set xml = Nothing
&nbsp; %&gt;
&nbsp;
&nbsp; ----------------------------------------------
&nbsp; Å·Ñô¶«½Ü ´´×÷ £¨×ªÔØÇë±£Áô´ËÐÅÏ¢£©
&nbsp; www.cnsxml.com
&nbsp; QQ:2596812 MSN:xzskyweb@hotmail.com
&nbsp; ----------------------------------------------
]]></description>
		</item>
		<item>
			<title>XML ÖÐµÄ³£¼ûÎÊÌâ (Ò»)</title>
			<link>http://www.kingmx.com/article.php?id=12213</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡Ò»°ãÎÊÌâ 
¡¡¡¡Ê²Ã´ÊÇ XML£¿ 
¡¡¡¡¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ (XML) ÊÇ Web ÉÏµÄÊý¾ÝÍ¨ÓÃÓïÑÔ¡£ËüÊ¹¿ª·¢ÈËÔ±ÄÜ¹»½«½á¹¹»¯Êý¾Ý£¬´ÓÐí¶à²»Í¬µÄÓ¦ÓÃ³ÌÐò´«µÝµ½×ÀÃæ£¬½øÐÐ±¾µØ¼ÆËãºÍÑÝÊ¾¡£XML ÔÊÐíÎªÌØ¶¨Ó¦ÓÃ³ÌÐò´´½¨Î¨Ò»µÄÊý¾Ý¸ñÊ½¡£Ëü»¹ÊÇÔÚ·þÎñÆ÷Ö®¼ä´«Êä½á¹¹»¯Êý¾ÝµÄÀíÏë¸ñÊ½¡£
¡¡¡¡Ê²Ã´ÊÇ MSXML£¿ 
¡¡¡¡MSXML ÊÇÌá¹©ºËÐÄ XML ·þÎñµÄ Microsoft Èí¼þ×é¼þ¡£
¡¡¡¡Microsoft XML ·ÖÎöÆ÷ÄÜ¹»×öÊ²Ã´£¿ 
¡¡¡¡×îÐÂ°æ±¾µÄ Microsoft ºËÐÄ XML ·þÎñÌá¹©ÏÂÃæËÄÖÖ²»Í¬µÄ¹¦ÄÜ¡£ 
¡¡¡¡»ùÓÚÎÄµµ¶ÔÏóÄ£ÐÍ (DOM) µÄ·ÖÎöÆ÷£¬ËüÄÜ¹»»ñÈ¡ÎÄ±¾Á÷£¨ÄÜ¹»×ª»»µ½ XML µÄÎÄ¼þ¡¢³ÌÐòÖÐµÄ×Ö·û´®»òÕßÈÎºÎÆäËûÎÄ±¾£©²¢½«Ëü×ª»»ÎªÄÜ¹»±à³Ì´¦ÀíµÄ¿Éµ¼º½ XML Ê÷½á¹¹¡£
¡¡¡¡SAX£¨Simple API for XML£©·ÖÎöÆ÷£¬ËüÕë¶Ô´¦Àí´óÐÍÎÄµµºÍ¸ßÍÌÍÂÁ¿µÄÇé¿ö½øÐÐÁËÓÅ»¯µÄ¡£SAX ÊÇ»ùÓÚÊÂ¼þµÄ·ÖÎöÆ÷£¬Ëü¶ÁÈ¡ÎÄµµ²¢½«·ÖÎöÊÂ¼þ£¨ÀýÈçÔªËØµÄ¿ªÊ¼ºÍ½áÎ²£©Ö±½Ó±¨¸æ¸øÓ¦ÓÃ³ÌÐò¡£ÓÃ»§´´½¨µÄÓ¦ÓÃ³ÌÐòÊµÏÖÁË´¦Àí²»Í¬ÊÂ¼þµÄ´¦Àí³ÌÐò£¬Õâ·Ç³£ÀàËÆÓÚ´¦ÀíÍ¼ÐÎÓÃ»§½çÃæ (GUI) ÖÐµÄÊÂ¼þ¡£
¡¡¡¡XSLT ´¦ÀíÆ÷¶ÁÈ¡ XSLT ÎÄ¼þ£¬²¢½«¿ÉÀ©Õ¹ÑùÊ½±í×ª»»ÓïÑÔ (XSLT) ÎÄ¼þµÄÖ¸ÁîÓ¦ÓÃµ½ XML ÎÄ¼þ£¬ÒÔ²úÉúÄ³Ð©ÀàÐÍµÄÊä³ö¡£³ýÁË´´½¨ XML½á¹¹Ö®Íâ£¬XSLT ´¦ÀíÆ÷»¹¿ÉÒÔÔÚµÃµ½µÄ XSLT ¹ýÂËÆ÷ÉÏÖ´ÐÐÒ»¶¨Á¿µÄÓÅ»¯£¬ÁíÍâ£¬´Ó¼¼ÊõµÄ½Ç¶È¿´£¬Ëü¸üÏñÊÇÒ»ÖÖ±àÒëÆ÷¡£
¡¡¡¡ÑéÖ¤·ÖÎöÆ÷¶ÁÈ¡ÎÄµµÀàÐÍ¶¨Òå (DTD) »òÕß XML ¼Ü¹¹£¬È»ºó¼ìÑéÊµ¼ÊµÃµ½µÄÎÄµµµÄ¸ñÊ½ÊÇ·ñÕýÈ·£¬ÒÔ¼°ÊÇ·ñ²»°üº¬Óë¼Ü¹¹³åÍ»µÄÊý¾Ý¡£Çë×¢Òâ£¬½ö¶Ô¼Ü¹¹¶øÑÔ£¬ÑéÖ¤¼Ü¹¹½«·µ»Ø¼Ü¹¹±¾Éí×÷Îª¶ÔÏó£¬¿ÉÒÔÔÚÒÔºóÔÚ HTML ÁÐ±í¿òÖÐ´´½¨Ñ¡ÏîÊ±ÒýÓÃÕâ¸ö¶ÔÏó¡£ 
¡¡¡¡ËùÓÐËÄÖÖ¹¦ÄÜ¶¼°üº¬ÔÚÍ¬Ò» MSXML ¿âÈí¼þ°üÖÐ£¬Ëü¿ÉÒÔ´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©Ãâ·ÑµÃµ½¡£
¡¡¡¡MSXML¡¢MSXML2 ºÍ MSXML3 Ö®¼äµÄÇø±ðÊÇÊ²Ã´£¿ 
¡¡¡¡ÔÚ¹ýÈ¥ÈýÄêÖÐ XML ¾­ÀúÁËÐí¶à·´¸´£¬ËùÒÔÄ¿Ç°´æÔÚ²»Í¬°æ±¾µÄ Microsoft XML ·ÖÎöÆ÷Ò²²»Ææ¹Ö¡£Internet Explorer 4.0 °üº¬ÔçÆÚ°æ±¾µÄ XML ·ÖÎöÆ÷£¬Ëü±È XSL¡¢XML Êý¾Ý»òÕß´ó¶àÊýÆäËûµÄ XML ¼¼Êõ£¨²¢ÇÒÓÐÍêÈ«²»Í¬µÄ DOM Ä£ÐÍ£©ÒªÔç¡£¸ÃÔçÆÚ°æ±¾µÄ·ÖÎöÆ÷°üº¬ÔÚ MSXML.dll ¿âÖÐ¡£´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©¿É½«·ÖÎöÆ÷Éý¼¶µ½½ÏÐÂµÄÒ»ÖÖ¡£
¡¡¡¡ÎÒÃÇ¼«Á¦½¨ÒéÄúÉý¼¶µ½ÐÂµÄ·ÖÎöÆ÷£¬ÒòÎªËüÒªÇ¿´óµÃ¶à¡£Internet Explorer 5.0 °üÀ¨ MSXML 2.0 ·ÖÎöÆ÷£¬Ëü°üº¬ XSL ºÍ XML ¼Ü¹¹µÄ»ù±¾°æ±¾¡£MSXML2 ÊÇ SQL Server 2000 ¸½´øµÄ·ÖÎöÆ÷°æ±¾¡£MSXML2 °üº¬ÁËÐí¶àÐÔÄÜÔöÇ¿µÄ¹¦ÄÜ£¬²¢ÇÒÔÚ×ÜÌåÉÏÌá¸ßÁËÐÔÄÜºÍ¿ÉÉìËõÐÔ¡£MSXML3 ÊÇµ±Ç°×÷Îª¡°¼¼ÊõÔ¤ÀÀ¡±¸½´øµÄ°æ±¾¡£MSXML3 °üÀ¨ XSLT ºÍ XPath Ö§³ÖÒÔ¼° SAX ½Ó¿Ú¡£
¡¡¡¡XML ¿ÉÒÔ´úÌæ HTML Âð£¿ 
¡¡¡¡XML ±È HTML Ìá¹©¸ü´óµÄÁé»îÐÔ£¬µ«ÊÇËü²»¿ÉÄÜºÜ¿ì´úÌæ HTML¡£Êµ¼ÊÉÏ£¬XML ºÍ HTML ÄÜ¹»ºÜºÃµØÔÚÒ»Æð¹¤×÷¡£Microsoft Ï£ÍûÐí¶à×÷ÕßºÍ¿ª·¢ÈËÔ±¶¼ÄÜÍ¬Ê±Ê¹ÓÃ XML ºÍ HTML£¬±ÈÈçÓÃ XSLT À´Éú³É HTML¡£
¡¡¡¡ÔÚ HTML ÖÐÔö¼Ó XML µÄºÃ´¦ÊÇÊ²Ã´£¿ 
¡¡¡¡ÔÚ Web ÉÏÊ¹ÓÃ XML µÄºÃ´¦ÓÐ£º 
¡¡¡¡ËüÌá¹©ÓÃÓÚ±¾µØ¼ÆËãµÄÊý¾Ý¡£´«µÝµ½×ÀÃæµÄÊý¾Ý¿ÉÒÔ½øÐÐ±¾µØ¼ÆËã¡£XML ·ÖÎöÆ÷¿ÉÒÔ¶ÁÈ¡Êý¾Ý£¬²¢½«ËüµÝ½»¸ø±¾µØÓ¦ÓÃ³ÌÐò£¨ÀýÈçä¯ÀÀÆ÷£©½øÒ»²½²é¿´»ò´¦Àí¡£Êý¾ÝÒ²¿ÉÒÔÓÉÊ¹ÓÃ XML ¶ÔÏóÄ£ÐÍµÄ½Å±¾»òÆäËû±à³ÌÓïÑÔÀ´´¦Àí¡£
¡¡¡¡ÏòÓÃ»§Ìá¹©ÕýÈ·µÄ½á¹¹»¯Êý¾ÝÊÓÍ¼¡£´«µÝµ½×ÀÃæµÄÊý¾Ý¿ÉÒÔÒÔ¶àÖÖ·½Ê½±íÊ¾¡£±¾µØÊý¾Ý¼¯£¬¿ÉÒÔ¸ù¾ÝÓÃ»§Ï²ºÃºÍÅäÖÃµÈÒòËØ£¬ÒÔÊÊµ±µÄÐÎÊ½£¬ÔÚÊÓÍ¼ÖÐ¶¯Ì¬±íÏÖ¸øÓÃ»§¡£
¡¡¡¡ÔÊÐí¼¯³É²»Í¬À´Ô´µÄ½á¹¹»¯Êý¾Ý¡£Ò»°ãÇé¿öÏÂ£¬Ê¹ÓÃ´úÀí£¬ÔÚÖÐ¼ä²ã·þÎñÆ÷ÉÏ¼¯³ÉÀ´×Ôºó¶ËÊý¾Ý¿âºÍÆäËûÓ¦ÓÃ³ÌÐòµÄÊý¾Ý£¬Ê¹¸ÃÊý¾ÝÄÜ¹»´«µÝ¸ø×ÀÃæ»òÕßÆäËû·þÎñÆ÷£¬×ö½øÒ»²½¾ÛºÏ¡¢´¦ÀíºÍ·Ö²¼¡£
¡¡¡¡ÃèÊöÀ´×Ô¶àÖÖÓ¦ÓÃ³ÌÐòµÄÊý¾Ý¡£ÓÉÓÚ XML ÊÇ¿ÉÀ©Õ¹µÄ£¬Òò´ËËü¿ÉÒÔÓÃÓÚÃèÊöÀ´×Ô¶àÖÖÓ¦ÓÃ³ÌÐòµÄÊý¾Ý£¬´ÓÃèÊö Web Ò³Ãæ¼¯ºÏµ½Êý¾Ý¼ÇÂ¼¡£ÓÉÓÚÊý¾ÝÊÇ×ÔÃèÊöµÄ£¬Òò´Ë²»ÐèÒªÊý¾ÝµÄÄÚÖÃÃèÊö£¬Ò²ÄÜ¹»½ÓÊÕºÍ´¦ÀíÊý¾Ý¡£
¡¡¡¡Í¨¹ýÁ£¶È¸üÐÂÀ´Ìá¸ßÐÔÄÜ¡£XML ÔÊÐíÁ£¶È¸üÐÂ¡£¿ª·¢ÈËÔ±²»±ØÔÚÃ¿´ÎÓÐ¸Ä¶¯Ê±¶¼·¢ËÍÕû¸ö½á¹¹»¯Êý¾Ý¼¯¡£ÓÐÁËÁ£¶È¸üÐÂºó£¬Ö»ÓÐ¸Ä±äµÄÔªËØ²Å±ØÐë´Ó·þÎñÆ÷·¢ËÍµ½¿Í»§»ú¡£¸Ä±äµÄÊý¾Ý¿ÉÒÔÔÚ²»±ØË¢ÐÂÕû¸öÒ³Ãæ»ò±íµÄÇé¿öÏÂÏÔÊ¾¡£
¡¡¡¡XML Ö»ÊÊÓÃÓÚºËÐÄ¿ª·¢ÈËÔ±Âð£¿ 
¡¡¡¡²»¡£ºÍ HTML ÎÄµµÒ»Ñù£¬XML ÎÄµµ¿ÉÒÔÓÉÈÎºÎÈË´´½¨ €€ ÉõÖÁÊÇÃ»ÓÐÈÎºÎ±à³Ì¾­ÑéµÄÈË¡£XML ½ö½öÊÇÒ»ÖÖÃèÊöÐÅÏ¢µÄ±ê×¼·½Ê½¡£´ËÍâ£¬Ëü»¹ÊÇÒ»ÖÖÓïÑÔ£¬¿ÉÒÔÔÚÃ»ÓÐÈÎºÎÈí¼þµÄÇé¿öÏÂÓÃËüÀ´±àÐ´¡£Äú¿ÉÒÔÔÚÎÄ±¾±à¼­Æ÷ÖÐ±àÐ´ XML ÎÄµµ£¬²¢ÇÒÖ±½Ó·ÅÈë Web Õ¾µã£¬²»ÐèÒª±àÐ´´«Í³·½Ê½ÏÂµÄÈÎºÎ´úÂë¡£
¡¡¡¡¿ªÊ¼Ê¹ÓÃ XML Ê±ÐèÒªÊ²Ã´£¿ 
¡¡¡¡ÒªÊ¹ÓÃ XML£¬ÄúÐèÒªÄÜ¹»¶ÁÈ¡ XMl ÎÄµµµÄ XML ·ÖÎöÆ÷£¬²¢ÇÒÊ¹ËüµÄÄÚÈÝÄÜ±»´¦Àí¡£Microsoft Ìá¹©ÁËÒ»ÖÖ·ÖÎöÆ÷£¬¿ÉÒÔ´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©ÏÂÔØ¡£ 
¡¡¡¡ÒªÊ¹ÓÃ XML ÎÄµµ£¬¿ÉÒÔÊ¹ÓÃÎÄ±¾±à¼­Æ÷£¨ÀýÈç¼ÇÊÂ±¾£©»òÈÎºÎÆäËû¿ÉÒÔÓÃÓÚ´´½¨ HTML Ò³ÃæµÄ±à¼­Æ÷¡£Òª´´½¨ÍêÕûÐÎÊ½µÄ XML Ó¦ÓÃ³ÌÐò£¬ÇëÊ¹ÓÃÖîÈç Microsoft? Visual Studio? µÄ±à³Ì»·¾³¡£
¡¡¡¡ÓÐÈçºÎÊ¹ÓÃ XML µÄÊµ¼ÊÀý×ÓÂð£¿ 
¡¡¡¡XML ÕýÔÚÊýÁ¿¾ªÈËµÄÓ¦ÓÃ³ÌÐòÖÐÊ¹ÓÃ£¬·¶Î§´Ó Web Õ¾µã´´½¨ºÍÎÄµµ»¯µ½Êý¾Ý¿â¼¯³ÉºÍ·Ö²¼Ê½±à³Ì¡£ÔÚÏÂÃæ¼¸¸öÁìÓòÖÐ£¬XML ÓÐÆäÓÃÎäÖ®µØ£º 
¡¡¡¡ÒµÎñ¶ÔÒµÎñµÄ´«Êä¡£ÒµÎñÊý¾Ý£¨·¢Æ±¡¢¹ºÂò¶¨µ¥¡¢»á¼ÆºÍË°ÎñÐÅÏ¢µÈµÈ£©ÊÇÒÔ XML ¸ñÊ½ÔÚ³§ÉÌÖ®¼äµç×Ó´«ÊäµÄ¡£Óë¾ÉµÄµç×ÓÊý¾Ý½»»» (EDI) ¸ñÊ½Ïà±È£¬XML Ìá¹©ÁËÐí¶àÓÅµã£¬¶ø²»½ö½öÊÇ¿ÉÒÔÔÚ´«ÊäÖÐ´ÓÒ»ÖÖ·¢Æ±¸ñÊ½×ª»»µ½ÁíÒ»ÖÖ¡£
¡¡¡¡·Ö²¼Ê½±à³Ì¡£XML ÊÇ·Ç³£ÀíÏëµÄ¸´ÔÓ¶àÆ½Ì¨Ó¦ÓÃ³ÌÐò¹¹Ôì·½°¸£¬ÕâÑù¾ÍÊ¹µÃ Windows ·þÎñÆ÷ºÍÆäËû²Ù×÷ÏµÍ³µÄ¼¯³É³ÉÎª¿ÉÄÜ¡£
¡¡¡¡Web Õ¾µãÌåÏµ½á¹¹¡£ÓÉÓÚ XML µÄ²ã´Î½á¹¹ºÍ·Ö²¼Ê½ÌØÐÔ£¬Web Õ¾µã¿ª·¢ÈËÔ±ÔÚËûÃÇ Web Õ¾µãµÄ×ÜÌåÌåÏµ½á¹¹ºÍµ¼º½½á¹¹ÖÐÔ½À´Ô½¶àµØÊ¹ÓÃËü¡£´ËÍâ£¬Ô½À´Ô½¶àµÄÄ¿Â¼±íºÍË÷Òý±í¡¢¸ú×ÙÓÃ»§ÐÅÏ¢¼° Web Õ¾µã×´Ì¬µÄ XML ½á¹¹¡¢»ùÓÚ HTML µÄ×é¼þºÍ´¦ÀíÊý¾ÝÁ÷µÄÇþµÀ£¬¶¼ÓÃ XML ºÍ XSLT ±àÐ´¡£
¡¡¡¡Êý¾Ý¿â²Ù×÷¡£XML Õý³ÉÎªÓëÊý¾Ý¿â½»»¥µÄÁ÷ÐÐ¹¤¾ß €€ ÎÞÂÛ´Ó SQL ²éÑ¯ÖÐ¼ìË÷ XML Êý¾Ý¼¯£¬»¹ÊÇÓÃ XML ¼ÇÂ¼¸üÐÂÊý¾Ý¿â¡£¶øÇÒÎÒÃÇ»¹ÓÐ·ÖÀëÊµÏÖµÄÓÅµã¡£Í¨¹ý½«Êý¾ÝÑ¹ËõÎª SML£¬¾Í²»ÐèÒª¶ÔÊµ¼ÊµÄÊý¾Ý¿â½á¹¹ÓÐÈÎºÎÁË½â¡£
¡¡¡¡ÎÄµµ¹ÜÀí¡£Ä¿Ç°µÄ´ó¶àÊý¹«Ë¾¶¼ÏÝÔÚÎÄÊé¹¤×÷µÄº£ÑóÀï£¬¶øÇÒ»áÔ½À´Ô½Ôã¡£XML ÕýÔÚÔ½À´Ô½¶àµØÓÃÓÚ½«ÎÄµµ±àÂë³É XML£¬Ê¹ÎÄµµ¸üÒ×ÓÚ¼ìË÷»òÌá¹©Á´½Óµ½ÎÄµµµÄ×¢ÊÍÉÏÏÂÎÄ£¬ÒÔ±ã¸üÓÐÐ§µØ½øÐÐ²Î¿¼¡£ 
¡¡¡¡ÎÒ¿ÉÒÔºöÂÔ XML Âð£¿ 
¡¡¡¡Èç¹ûÄúÏëÔÚ Internet ÊÀ½çÖÐ¾ºÕùµÄ»°£¬ÄÇ¾Í²»¿ÉÒÔºöÂÔ XML¡£XML ÊÇµ¼ÖÂÒÔÎÒÃÇ¿¼ÂÇ±à³Ì±¾ÉíµÄ·½Ê½½øÐÐÄ£Ê½×ªÒÆµÄÒ»ÖÖÓïÑÔ¡£´«Í³µÄ×¨ÓÃ¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃ³ÌÐò£¬ÕýÔÚ¸ø¡°ËæÊ±ËæµØ·ÃÎÊ¡±µÄ Internet ·þÎñÈÃÎ»£¬XML ÊÇ´¦ÀíÈÎºÎÊÂÇé£¨´ÓÊý¾Ý·ÃÎÊ´¦Àíµ½ÔÚ¸ÃÐÂ»·¾³ÖÐ±íÏÖÊý¾Ý£©µÄÂß¼­Ã½Ìå¡£
¡¡¡¡Microsoft Internet Explorer 4.0 Ö§³Ö XML Âð£¿ 
¡¡¡¡ÊÇµÄ¡£Internet Explorer 4.0 Ö§³Ö XML ÏÂÁÐ¹¦ÄÜ£º 
¡¡¡¡Í¨ÓÃµÄ XML ·ÖÎöÆ÷£¬Ëü¶ÁÈ¡ XML ÎÄ¼þ²¢½«ËüÃÇ´«µÝµ½Ó¦ÓÃ³ÌÐò£¨ÀýÈç²é¿´Æ÷£©½øÐÐ´¦Àí¡£Ó¦ÓÃ³ÌÐò¿ª·¢ÈËÔ±¿ÉÒÔÊ¹ÓÃ Microsoft µÄÁ½¸ö·ÖÎöÆ÷£ºC++ ÖÐµÄ Microsoft XML ·ÖÎöºÍ Java ÖÐµÄ Microsoft XML ·ÖÎöÆ÷¡£
¡¡¡¡XML ¶ÔÏóÄ£ÐÍ (XML OM) Ê¹ÓÃ World Wide Web Consortium (W3C) ±ê×¼ÎÄµµ¶ÔÏóÄ£ÐÍ (DOM) ÔÊÐí³ÌÐòÍ¨¹ý XML ·ÖÎöÆ÷·ÃÎÊ½á¹¹»¯Êý¾Ý£¬Ê¹¿ª·¢ÈËÔ±ÓµÓÐ½»»¥ºÍ¼ÆËãÊý¾ÝµÄÄÜÁ¦¡£ÓÐ¹ØÏêÏ¸ÐÅÏ¢£¬Çë²Î¼û DOM ¹æ·¶£¨Ó¢ÎÄ£© ¡£
¡¡¡¡XML Êý¾ÝÔ´¶ÔÏó (XML DSO) ÔÊÐí¿ª·¢ÈËÔ±Á¬½Óµ½½á¹¹»¯ XML Êý¾Ý£¬²¢ÓÃ¶¯Ì¬ HTML µÄÊý¾Ý°ó¶¨»úÖÆ½«ËüÌá¹©¸ø HTML Ò³Ãæ¡£ 
¡¡¡¡
¡¡¡¡(ÎÄÕÂÎ´Íê£¬Çë¼ÌÐøÁôÒâ)
]]></description>
		</item>
		<item>
			<title>XML ÖÐµÄ³£¼ûÎÊÌâ (¶þ)</title>
			<link>http://www.kingmx.com/article.php?id=12214</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
×÷Õß£ºAngelGavin&nbsp; ³ö´¦£ºCSDN
¡¡¡¡Internet Explorer 5.0 ¶Ô XML Ìá¹©ÄÄ¸ö¼¶±ðµÄÖ§³Ö£¿ 
¡¡¡¡Internet Explorer 5 Ìá¹©ÏÂÁÐ XML Ö§³Ö£º 
¡¡¡¡Ö±½Ó²é¿´ XML¡£Microsoft XML ÊµÏÖÔÊÐíÓÃ»§Í¨¹ýËûÃÇµÄ Web ä¯ÀÀÆ÷Ê¹ÓÃ XSL »òÕß²ãµþÑùÊ½±í (CSS) ²é¿´ XML£¬¾ÍÏó²é¿´ HTML ÎÄµµÒ»Ñù¡£
¡¡¡¡¸ßÐÔÄÜ¡¢ÑéÖ¤ XML ÒýÇæ¡£Internet Explorer 4.0 ¿ª·¢ÈËÔ±ÊìÏ¤µÄ XML ÒýÇæÒÑ¾­µÃµ½ÁËºÜ´óµÄÔöÇ¿£¬²¢ÇÒÍêÈ«Ö§³Ö W3C XML 1.0 ºÍ XML Ãû³Æ¿Õ¼ä£¬ÕâÑù¿ª·¢ÈËÔ±¾Í¿ÉÒÔÔÚ Web ÉÏÍ³Ò»ÏÞ¶¨ÔªËØÃû³Æ£¬´Ó¶ø±ÜÃâÁËÏàÍ¬Ãû³ÆµÄÔªËØÖ®¼äµÄ³åÍ»¡£Windows ÖÐµÄ±¾»ú XML Ö§³ÖÒâÎ¶×Å£¬µ±¿ª·¢ÈËÔ±ÔÚÓ¦ÓÃ³ÌÐòºÍ×é¼þÖ®¼äÒÆ¶¯Êý¾ÝÊ±£¬¿ÉÒÔÊ¹ÓÃÍêÕûµÄ XML ´¦Àí¹¦ÄÜÀ´¶ÁÈ¡ºÍ´¦ÀíÊý¾Ý¡£
¡¡¡¡¿ÉÀ©Õ¹ÑùÊ½×ª»»ÓïÑÔ (XSLT) Ö§³Ö¡£Ê¹ÓÃ»ùÓÚ×îÐÂµÄ W3C Working Draft µÄ Microsoft XSLT ´¦ÀíÆ÷£¬¿ª·¢ÈËÔ±¿ÉÒÔ¶Ô XML Êý¾ÝÓ¦ÓÃÑùÊ½±í£¬²¢ÒÔÒ×ÓÚ×Ô¶¨ÒåµÄ¶¯Ì¬ºÍÁé»î·½Ê½À´ÏÔÊ¾Êý¾Ý¡£Microsoft XSLT ´¦ÀíÆ÷µÄ²éÑ¯¹¦ÄÜÒ²ÔÊÐí¿ª·¢ÈËÔ±ÓÃ³ÌÐò£¬ÔÚ¿Í»§»ú»ò·þÎñÆ÷ÉÏ£¬ÔÚ XML Êý¾Ý¼¯ÄÚ²¿²éÕÒºÍÕªÈ¡ÐÅÏ¢¡£
¡¡¡¡XML ¼Ü¹¹¡£¼Ü¹¹£¨Ó¢ÎÄ£© ¶¨Òå XML ÎÄµµ¹æÔò£¬°üÀ¨ÔªËØÃû³ÆºÍ·á¸»µÄÊý¾ÝÀàÐÍ£¬ËüÃÇµÄÔªËØ¿ÉÒÔ±íÏÖÎª×éºÏ£¬²¢ÇÒÃ¿¸öÔªËØµÄÊôÐÔ¶¼¿ÉÓÃ¡£ÎªÁËÆôÓÃ¶à²ãÓ¦ÓÃ³ÌÐò£¬Microsoft ½«¸ù¾ÝÌá½»¸ø W3C XML ¹¤×÷×éµÄËõ¼õ XML Êý¾Ý¼Ü¹¹ (XDR) À´·¢²¼ XML ¼Ü¹¹µÄ¼¼ÊõÔ¤ÀÀ¡£
¡¡¡¡·þÎñÆ÷¶Ë XML¡£·þÎñÆ÷¶Ë XML ´¦ÀíÔÊÐíÊ¹ÓÃ XML ×÷ÎªÔÚ¶à¸ö·Ö²¼Ê½Ó¦ÓÃ³ÌÐò·þÎñÆ÷£¨ÉõÖÁÊÇ¿çÔ½²Ù×÷ÏµÍ³±ß½ç£©Ö®¼ä´«ËÍÊý¾ÝµÄ±ê×¼·½Ê½¡£
¡¡¡¡XML ÎÄµµ¶ÔÏóÄ£ÐÍ (DOM)¡£XML DOM ÊÇ±ê×¼¶ÔÏóÓ¦ÓÃ³ÌÐò±à³Ì½Ó¿Ú£¬ËüÊ¹¿ª·¢ÈËÔ±ÄÜ¹»ÓÃ³ÌÐò¿ØÖÆ XML ÎÄµµÄÚÈÝ¡¢½á¹¹¡¢¸ñÊ½µÈµÈ¡£Microsoft XML ÊµÏÖ°üÀ¨¶Ô W3C XML DOM ½¨ÒéµÄÍêÈ«Ö§³Ö£¬²¢ÇÒ¿ÉÒÔÓÃ½Å±¾¡¢Visual Basic ¿ª·¢ÏµÍ³¡¢C++ ºÍÆäËû±à³ÌÓïÑÔÀ´·ÃÎÊ¡£
¡¡¡¡C++ XML Êý¾ÝÔ´¶ÔÏó¡£XML DSO ÔÊÐí½« HTML ÔªËØÖ±½Ó°ó¶¨µ½ XML Êý¾Ýµº¡£´ËÍâ£¬Ëü»¹Ìá¸ßÁËÐÔÄÜ£¬ÓÐÇ¿´óµÄÄÜÁ¦¿ÉÒÔ°ó¶¨µ½²»Í¬ XML ½ÚµãÉÏ£¬¶øÇÒÀûÓÃÁË Internet Explorer 5 beta ÖÐËùÓÐµÄÐÂµÄÊý¾Ý°ó¶¨¹¦ÄÜ¡£ 
¡¡¡¡HTML¡¢¶¯Ì¬ HTML ºÍ XML Ö®¼äµÄ¹ØÏµÊÇÊ²Ã´£¿ 
¡¡¡¡HTML ¿ÉÒÔºÍ CSS Ò»ÆðÓÃÓÚ¸ñÊ½»¯ºÍ±íÊ¾³¬Á´½ÓÒ³Ãæ¡£¶¯Ì¬ HTML£¬Í¨¹ý DOM£¬Ê¹ HTML ÖÐµÄËùÓÐÔªËØ£¬¶¼¿ÉÒÔÍ¨¹ýÓëÓïÑÔÎÞ¹ØµÄ½Å±¾ºÍÆäËû±à³ÌÓïÑÔÀ´·ÃÎÊ£¬´Ó¶øÔÚºÜ´ó³Ì¶ÈÉÏÌá¸ßÁË¿Í»§»ú¶ËµÄ½»»¥ÄÜÁ¦£¬¶øÇÒ²»ÐèÒª¶Ô·þÎñÆ÷µÄ¶îÍâÐèÇó¡£Ò³ÃæµÄ¶ÔÏóÄ£ÐÍÔÊÐí¶¯Ì¬¸ü¸ÄÈÎºÎ·½ÃæµÄÄÚÈÝ£¨°üÀ¨Ôö¼Ó¡¢É¾³ýºÍÒÆ¶¯£©¡£
¡¡¡¡Í¨¹ýÎª½á¹¹»¯Êý¾ÝÌí¼Ó XML£¬Îª¿ª·¢ÈËÔ±Ìá¹©ÁË¹¹ÔìÏÂÒ»´ú·á¸»¡¢Áé»î Web Ó¦ÓÃ³ÌÐòµÄ¼¼Êõ¡£Ê¹ÓÃ XML£¬ËûÃÇ¿ÉÒÔÎª×ÀÃæÌá¹©½á¹¹»¯Êý¾Ý£¬²¢ÇÒÓÃ XML ¶ÔÏóÄ£ÐÍ¼ÆËãÊý¾Ý¡£ÏÖÔÚµÄ¿ª·¢ÈËÔ±¿ÉÒÔÔÚä¯ÀÀÆ÷£¨ÀýÈç Microsoft Internet Explorer 4.0 ºÍ Microsoft Internet Explorer 5£©»òÕßÆäËûÓ¦ÓÃ³ÌÐòÖÐ£¬Í¨¹ý½Å±¾ÏÔÊ¾»ùÓÚ XML µÄÊý¾Ý¡£´ËÍâ£¬ËûÃÇÒ²¿ÉÒÔ¶ÔÊý¾ÝÓ¦ÓÃ¸ñÊ½»¯¹æÔò£¬¶ø²»ÐèÒªÊ¹ÓÃ XSLT ÑùÊ½±íµÄ¸´ÔÓ½Å±¾£¨Êµ¼ÊÉÏÊÇ½«»ùÓÚ XML µÄÊý¾Ý×ª»»ÎªÏÔÊ¾£©¡£ÕâÁ½ÖÖÏÔÊ¾»ùÓÚ XML Êý¾ÝµÄ·½·¨£¬¶¼Ê¹µÃÉú³É¸´ÔÓÊý¾ÝµÄ¶à¸öÊÓÍ¼³ÉÎª¿ÉÄÜ¡£
¡¡¡¡ÎªÊ²Ã´ XML ÕâÃ´ÖØÒª£¿ 
¡¡¡¡XML ½«³ÉÎª¼ÆËãÁìÓòµÄÎ´À´¡£×÷ÎªÒ»ÖÖ¼¼Êõ£¬ËüµÄÓ°ÏìÁ¦½«ÉøÍ¸µ½±à³ÌµÄÃ¿¸ö·½Ãæ£¬´ÓÇ¶ÈëÊ½ÏµÍ³µ½Í¼ÐÎ½çÃæ£¬µ½·Ö²¼Ê½ÏµÍ³ÒÔ¼°Êý¾Ý¿â¹ÜÀí¡£ËüÊµ¼ÊÉÏÒÑ¾­³ÉÎªÈí¼þ¹¤ÒµÖ®¼äÊý¾ÝÍ¨ÐÅµÄ±ê×¼£¬²¢ÇÒÑ¸ËÙ´úÌæ EDI ÏµÍ³³ÉÎªÈ«Çò¼¸ºõËùÓÐ¹¤Òµ½øÐÐÒµÎñ½»»»µÄÖ÷ÒªÃ½Ìå¡£ËüºÜÓÐ¿ÉÄÜ»á³ÉÎª´´½¨ºÍ´æ´¢´ó¶àÊýÎÄµµµÄÓïÑÔ£¬²»¹ÜÊÇ·ñÔÚ Internet ÉÏ£¬²¢ÇÒÓÐ¿ÉÄÜ³ÉÎª Internet Ó¦ÓÃ³ÌÐò·þÎñÆ÷µÄ»ù´¡£¬ÓÐÐ©ÈËÏàÐÅËü½«´úÌæÐí¶àÄ¿Ç°Éú²úµÄÐ¡°ü×°²úÆ·¡£
¡¡¡¡Microsoft Ìá¹©Ê²Ã´ XML ²úÆ·£¿ 
¡¡¡¡Microsoft ÕýÔÚÅ¬Á¦ÎªÐí¶àÁìÓò¿ª·¢ XML ×ÊÔ´£º 
¡¡¡¡Êý¾Ý·ÃÎÊ¡£×îÐÂµÄ ActiveX? Êý¾Ý¶ÔÏó (ADO) µÄ»¯Éí£¬ÒÑ¾­Ö§³Ö XML µÄÉú³ÉºÍÏû·Ñ½«½üÒ»ÄêÁË£¬²¢ÇÒ Microsoft SQL Server 2000 Îª»ùÓÚ SQL µÄÐÅÏ¢ºÍ XML Ö®¼äµÄ»¥Ïà×ª»»Ìá¹©ÁËÐí¶à½Ó¿Ú¡£
¡¡¡¡ä¯ÀÀÆ÷Ö§³Ö¡£Microsoft ÊÇµÚÒ»¸öÉú²úÄÜ¹»ÔÄ¶Á XML ÎÄ¼þ£¨ÎÞÂÛÊÇÓÃÔ­Ê¼½á¹¹ÐÎÊ½£¬»¹ÊÇÍ¨¹ý XSL »ò CSS ÑùÊ½±í£©µÄÉÌÒµä¯ÀÀÆ÷ (Internet Explorer 5) µÄ¹«Ë¾¡£
¡¡¡¡BizTalk Server 2000¡£Microsoft? BizTalk(TM) Server 2000 Ìá¹©ÁËÔÚ´óÁ¿²»Í¬¸ñÊ½£¨°üÀ¨ XML£©Ö®¼äÍ¨ÐÅµÄ·½Ê½£¬À´°ïÖúÍÆ¶¯ÒµÎñ¶ÔÒµÎñµÄÓ¦ÓÃ³ÌÐò¡£BizTalk Server Ò²°üÀ¨ÁËÐí¶à¼Ü¹¹Éú³ÉºÍÓ³Éä¹¤¾ß£¬´Ó¶ø´ó´ó¼ò»¯ÁËÒµÎñ»òÉÌÒµÐèÒªµÄ XML ½á¹¹µÄ¿ª·¢¡£ 
¡¡¡¡ÔÚ Web ÉÏ´«Êä£¬±ØÐëÑ¹Ëõ XML Âð£¿ 
¡¡¡¡Ò»°ãÀ´Ëµ£¬Ñ¹Ëõ XML µÄÐèÒªÊÇÓëÓ¦ÓÃ³ÌÐòÓÐ¹ØµÄ£¬²¢ÇÒºÜ´ó³Ì¶ÈÉÏÊÇ·þÎñÆ÷ºÍ¿Í»§»úÖ®¼äÒÆ¶¯Êý¾ÝÁ¿µÄº¯Êý¡£ÓÃÓÚÃèÊöÊý¾Ý½á¹¹µÄ±ê¼ÇµÄ·´¸´ÌØÐÔ£¬Ê¹ XML ÄÜ¹»·Ç³£ºÃµØÑ¹ËõÊý¾Ý¡£ÖµµÃ×¢ÒâµÄÊÇ HTTP 1.1 ·þÎñÆ÷ºÍ¿Í»§»úµÄÑ¹Ëõ¶¼ÊÇ±ê×¼µÄ£¬XML ¿ÉÒÔ×Ô¶¯´ÓÖÐÊÜÒæ¡£
¡¡¡¡XML ×÷ÎªÊý¾Ý¸ñÊ½ÓÐ¶à°²È«£¿ÓÐÃ»ÓÐÔö¼Ó XML °²È«ÐÔµÄ¼Æ»®£¿ 
¡¡¡¡XML ºÍ HTML Ò»Ñù°²È«¡£ÕýÒòÎª°²È«µÄ HTTP (HTTPS) ¿ÉÒÔÓÃÓÚ¶Ô HTTP Ìí¼ÓÃÜÂë¼¼Êõ£¬´Ó¶ø±£»¤ÁË HTML£¬Òò´ËËüÒ²¿ÉÒÔÓÃÓÚ±£»¤ XML¡£XML ÊÇ±íÊ¾½á¹¹»¯Êý¾ÝµÄ»ùÓÚÎÄ±¾¸ñÊ½¡£Õâ¿ÉÒÔÊ¹Êý¾ÝµÄ¼òµ¥ÐÔºÍ»¥²Ù×÷ÐÔ×î´ó»¯¡£¶Ô XML ¸ñÊ½Ôö¼Ó°²È«ÐÔºÍÑéÖ¤ÄÜÁ¦Ê±¿ÉÒÔ²ÉÈ¡Ðí¶à²½Öè¡£Ê×ÏÈ£¬XML ¿ÉÒÔÔÚ´«Êäµ½¿Í»§Ö®Ç°ÔÚ·þÎñÆ÷ÉÏ¼ÓÃÜ£¬È»ºóÔÚ¿Í»§»úÉÏ½âÃÜ¡£Ó¦ÓÃÓÚÊý¾Ý±¾ÉíµÄÊý×ÖÇ©ÃûÒ²¿ÉÒÔÑéÖ¤ XML¡£
¡¡¡¡È·ÈÏ 
¡¡¡¡Ê²Ã´ÊÇ DTD ¼°ÆäÓÃÍ¾£¿ 
¡¡¡¡ÎÄµµÀàÐÍ¶¨Òå (DTD) ¶¨ÒåÁËÒ»Àà XML ÎÄµµµÄÕýÈ·Óï·¨¡£Ò²¾ÍÊÇËµ£¬ËüÁÐ³öÁËÐí¶àÔªËØÃû³Æ£¬Ê²Ã´ÔªËØ¿ÉÒÔºÍÆäËûÔªËØÒ»ÆðÏÔÊ¾£¬Ê²Ã´ÊôÐÔ¿ÉÒÔÓÃÓÚÃ¿ÖÖÔªËØÀàÐÍµÈµÈ¡£DTD Ê¹ÓÃ XML ÎÄµµÊ¹ÓÃµÄ²»Í¬Óï·¨ÐÎÊ½¡£
¡¡¡¡Web ¿ª·¢ÈËÔ±ÔÚÊ¹ÓÃ XML ÃèÊöÊý¾ÝÊ±±ØÐë°üÀ¨ DTD Âð£¿ 
¡¡¡¡²»¡£XML ¿ÉÒÔÓÃÓÚÃèÊöÓÐ»òÃ»ÓÐ DTD µÄÊý¾Ý¡£ÊõÓï¡°ÓÐÐ§¡±XML Ö¸´úÒýÓÃ DTD µÄ XML Êý¾Ý£¬¶ø¡°Á¼ºÃÐÎ³ÉµÄ¡±XML ÊÇÎ´Ê¹ÓÃ DTD µÄ XML¡£´ËÍâ£¬¡°Á¼ºÃÐÎ³ÉµÄ¡±XML »¹ÊÇ XML ºÍ±ê×¼Í³Ò»±ê¼ÇÓïÑÔ (SGML) µÄ»ù±¾Çø±ðÖ®Ò»¡£ºÜÃ÷ÏÔ£¬ÔÚÕâÁ½ÖÖÇé¿öÏÂ£¬XML ±¾Éí¶¼±ØÐë×ñÊØÓïÑÔµÄ±ê×¼£¨ÀýÈç£¬ËùÓÐ±ê¼Ç¶¼±ØÐëÊÇ±ÕºÏµÄ£¬²¢ÇÒ±ê¼Ç²»ÄÜÖØµþ£©¡£
¡¡¡¡Ê²Ã´ÊÇ XML ¼Ü¹¹£¿ËüÃÇÓë DTD µÄÇø±ðÊÇÊ²Ã´£¿ 
¡¡¡¡ËäÈ» XML 1.0 Ìá¹©ÁË¶¨Òå XML ÎÄµµµÄÄÚÈÝÄ£ÐÍµÄ»úÖÆ €€ DTD €€ µ«ÊÇºÜÃ÷ÏÔ»¹ÐèÒª¶¨ÒåÄÚÈÝÄ£ÐÍµÄ¸üÈ«Ãæ¸üÓÐÐ§µÄ·½·¨¡£XML ¼Ü¹¹ÊÇÌØÊâµÄ XML ½á¹¹µÄ¶¨Òå£¨´ÓÆä×éÖ¯ºÍÊý¾ÝÀàÐÍÁ½¸ö·½Ãæ£©¡£XML ¼Ü¹¹Ê¹ÓÃ¡°XML ¼Ü¹¹¡±ÓïÑÔÀ´Ö¸¶¨ÔÚ¼Ü¹¹ÖÐÈçºÎ¶¨ÒåÔªËØµÄÃ¿ÖÖÀàÐÍ£¬ÒÔ¼°ÓëÔªËØ¹ØÁªµÄÊý¾ÝÀàÐÍ¡£Óë DTD Ïà±È£¬¼Ü¹¹µÄ×îÏÊÃ÷µÄÌØµã£¬±ãÊÇ¼Ü¹¹±¾Éí¾ÍÊÇ XML ÎÄµµ¡£ÕâÒâÎ¶×ÅÔÄ¶ÁËüËùÃèÊöµÄ XML µÄ¹¤¾ßÒ²¿ÉÒÔÔÄ¶ÁËü¡£
¡¡¡¡Microsoft µÄ XML ·þÎñÄ¿Ç°Ö§³Ö XML Êý¾Ý¼Ü¹¹£¬Ëü´ú±íÁËÔÚ 1999 Äê 3 ÔÂ Internet Explorer 5 ×°ÔËÊ± ¡°W3C ¼Ü¹¹¡±»î¶¯µÄ¿ìÕÕ¡£XML Êý¾Ý¼Ü¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚËûÃÇµÄ XML ÎÄµµÖÐÌí¼ÓÊý¾ÝÀàÐÍ£¬ÒÔ¼°¶¨Òå¿ª·ÅµÄÄÚÈÝÄ£ÐÍ¡£ÕâÖÖ¶Ô DTD ¹¦ÄÜµÄÀ©Õ¹¶Ô XML ±à³ÌºÜ¹Ø¼ü¡£
¡¡¡¡µ«ÊÇ W3C ÕýÔÚ×¼±¸¡°XML ¼Ü¹¹¶¨Òå (XSD)¡±£¬Ëü½«³ÉÎª¡°XML ¼Ü¹¹±ê×¼¡±¡£Microsoft ¼Æ»®ÔÚ´Ë¹æ·¶³ÉÎª½¨Òéºó£¬Á¢¼´Ê¹¶Ô¡°XML ¼Ü¹¹¶¨Òå (XSD)¡±µÄÖ§³Ö³ÉÎªËüºËÐÄ XML ·þÎñµÄÒ»²¿·Ö¡£
¡¡¡¡Ê²Ã´ÊÇÃû³Æ¿Õ¼ä£¬ËüÃÇÎªºÎÖØÒª£¿ 
¡¡¡¡Ãû³Æ¿Õ¼äÊÇ XML µÄÁíÒ»¸ö¸ß¼¶¹¦ÄÜ£¬²¢×÷Îª XML 1.0 ¹æ·¶µÄÒ»²¿·Ö£¬ÔÚ W3C ±Ê¼ÇÖÐ×÷ÁË¸ÅÊö¡£ËüÃÇÔÊÐí¿ª·¢ÈËÔ±ÏÞ¶¨ÔªËØÃû³ÆºÍ¹ØÏµ¡£Ãû³Æ¿Õ¼äÊ¹ÔªËØÃû³ÆÎ¨Ò»¿ÉÊ¶±ð£¬´Ó¶ø±ÜÃâÁËÃû³ÆÏàÍ¬£¬µ«ÊÇÔÚ²»Í¬´ÊµäÖÐ¶¨ÒåµÄÔªËØÖ®¼ä·¢ÉúÃû³Æ³åÍ»¡£ËüÃÇÔÊÐí»ìºÏÀ´×Ô²»Í¬Ãû³Æ¿Õ¼äµÄ±ê¼Ç£¬ÕâÒ»µã¶Ô¶à¸öÀ´Ô´µÄÊý¾ÝºÜÖØÒª¡£
¡¡¡¡Àýç£?Êéµê¿ÉÒÔ¶¨??
¡¡¡¡Ãû³Æ¿Õ¼äÓÐÖúÓÚÇåÎúµØ¶¨ÒåÕâÖÖ²î±ð¡£
¡¡¡¡XSLT ºÍ XPATH 
¡¡¡¡Ê²Ã´ÊÇ XSLT£¿ 
¡¡¡¡XSLT£¨Ó¢ÎÄ£© £¬»òÕßÓÃÓÚ×ª»»µÄ¿ÉÀ©Õ¹ÑùÊ½±íÓïÑÔ£¬ËüÊÇÔÚ 1999 Äê 11 ÔÂ 6 ÈÕ»ñµÃÅú×¼µÄ W3C ½¨Òé¡£´Ó±ê¼ÇºÍ±à³ÌÁ½ÖØÒâÒåÉÏËµ£¬ÕâÖÖÓïÑÔÌá¹©ÁË½« XML ½á¹¹×ª»»µ½ÆäËû XML ½á¹¹¡¢HTML »òÕßÈÎºÎÊýÁ¿µÄÆäËûÎÄ±¾¸ñÊ½£¨ÀýÈç SQL£©µÄ»úÖÆ¡£ËäÈ»Ëü¿ÉÒÔÓÃÓÚ´´½¨ Web Ò³ÃæµÄÏÔÊ¾Êä³ö£¬µ«ÊÇ XSLT µÄÊµ¼Ê¹¦ÄÜÔÚÓÚÄÜ¹»¸Ä±äµ×²ã½á¹¹£¬¶ø²»ÊÇ¼òµ¥µØ¸Ä±äÕâÐ©½á¹¹µÄÃ½Ìå±íÊ¾£¬¾ÍÏñÔÚ²ãµþÑùÊ½±í (CSS) ÖÐÒ»Ñù¡£
¡¡¡¡XSL¡¢XQL¡¢XSL Ä£Ê½ ºÍ XSLT Ö®¼äµÄÇø±ðÊÇÊ²Ã´£¿ 
¡¡¡¡XSLT Ô´×Ô CSS ÔÚ¶Ô XML ÎÄµµ½á¹¹¸Ä¶¯ÉÏµÄ¾ÖÏÞÐÔ£¬µ±Ê±´´½¨ XML µÄÔ­Òò¸üÇãÏòÓÚ´úÌæ HTML ¶ø²»ÊÇÌá¹©Í¨ÓÃÊý¾ÝÃèÊöÓïÑÔ¡£Òò´Ë¿ÉÀ©Õ¹ÑùÊ½±íÓïÑÔ (XSL) ³ÉÎª¹¹Ôì¸ñÊ½»¯ XML ÐÂ·½·¨µÄ³É¹û¡£
¡¡¡¡µ«ÊÇ£¬¡°W3C ÑùÊ½¹¤×÷¡±×éµÄ³ÉÔ±ºÍÔçÆÚ XML ²ÉÓÃÕßºÜ¿ì¾Í·¢ÏÖ£¬ÄÜ¹»½« XML ´ÓÒ»ÖÖ¸ñÊ½×ª»»µ½ÁíÒ»¸ö¸ñÊ½µÄÓïÑÔ£¬¿ÉÒÔ¼«´óµØ¼ò»¯Éú³ÉµÄ´óÁ¿´úÂë¡£Microsoft Ïò W3C Ìá½»ÁËÒ»¸ö½¨Òé£¬×î³õÃû³ÆÎª XML ²éÑ¯ÓïÑÔ£¨»ò XQL£©£¬ËüËæÖ®±» W3C ²ÉÄÉÎª XSL Ä£Ê½ÓïÑÔ¡£¸ÃÓïÑÔµÄ´ó¶àÊý¹¦ÄÜ×îÖÕ¶¼±»ÄÉÈëÁË XSLT ¹æ·¶ÖÐ¡£ 
¡¡¡¡×îÖÕ±ê×¼½áºÏÁËÎª²»Í¬³õÊ¼Ìõ¼þ¶øÐÞ¸ÄµÄ XSLT ²ÎÊý£¬´´½¨´úÂë¹¦ÄÜ¿éµÄÃüÃûÄ£°å£¬ÒÔ¼°´óÁ¿ÓÃÓÚÊýÖµºÍ×Ö·û´®´¦ÀíµÄÔöÇ¿¹¦ÄÜ¡£XSLT »¹ÎªÔÚÓïÑÔÖÐÌí¼ÓÄÚÖÃ¹¦ÄÜÌá¹©·½±ã£¬Ìá¹©ÁË Microsoft ¿ÉÔÚ×Ô¼ºµÄÊµÏÖÖÐÓÃÀ´Ìí¼ÓÐí¶à¼«ÆäÓÐÓÃ¹¦ÄÜ£¨°üÀ¨·ÃÎÊ COM ¶ÔÏóºÍ½Å±¾£©µÄ²úÆ·¡£
¡¡¡¡Ê²Ã´ÊÇ XPath£¿ 
¡¡¡¡XPath£¨Ó¢ÎÄ£© ÊÇÎª XML ¶¨ÒåµÄ²éÑ¯ÓïÑÔ£¬ËüÌá¹©ÔÚÎÄµµÖÐÑ¡Ôñ½Úµã×Ó¼¯µÄ¼òµ¥Óï·¨¡£Í¨¹ý XPath£¬Í¨¹ýÖ¸¶¨ÀàËÆÓÚÄ¿Â¼µÄÂ·¾¶£¨¼´Ãû³Æ£©ÒÔ¼°Â·¾¶ÖÐµÄÌõ¼þ£¬¿ÉÒÔ¼ìË÷ÔªËØ¼¯ºÏ¡£XPath ¶Ô XSLT ºÍ XML DOM ¶¼ºÜÖØÒª£¬²¢Óë XPointer ¹æ·¶£¨ÔÊÐí¸ù¾ÝÍ³Ò»×ÊÔ´¶¨Î»·û [URL] ºÍ XPath ±í´ïÊ½µÄ×éºÏÀ´Ñ¡ÔñÎÄµµÆ¬¶Ï£©ÓÐÁªÏµ¡£
¡¡¡¡ÎªÊ²Ã´ XSLT ¶Ô XML ºÜÖØÒª£¿ 
¡¡¡¡XSLT ÊÇ½«Ò»ÖÖ XML ÎÄµµ×ª»»ÎªÁíÒ»ÖÖµÄÓïÑÔ¡£ÕâÒâÎ¶×ÅËüÌá¹©ÁËµ¥Ô´ XML Êý¾ÝµÄ»úÖÆ£¬¿ÉÒÔÔÚ Web Ò³ÃæÖÐ´´½¨ÓÉÓÃ»§¶¯Ì¬¸ü¸ÄµÄ·á¸»ÊÓÍ¼£¬¿ÉÒÔÎªÄ¿±êÍ¨ÐÅ¹ýÂËÊý¾Ý¡£XSLT ¶ÔÓÚÒµÎñ¹æÔò±àÂëÒÑ¾­×ã¹»Ç¿´ó¡£Ëü¿ÉÒÔ´ÓÊý¾ÝÉú³ÉÍ¼ÐÎ£¨²»½ö½öÊÇ Web Ò³Ãæ£©¡£ËüÉõÖÁ¿ÉÒÔ´¦ÀíÓëÆäËû·þÎñÆ÷µÄÍ¨ÐÅ €€ ÌØ±ðÊÇºÍÄÜ¹»¼¯³Éµ½ XSLT ÖÐµÄ½Å±¾Ä£¿éÐ­×÷ €€ ÒÔ¼°ÔÚ XSLT ×ÔÉíÄÚ²¿Éú³ÉÊÊµ±µÄÏûÏ¢¡£ËäÈ»Ëü²»¿ÉÄÜ´úÌæ×ÀÃæÏµÍ³ÖÐµÄ´ó¶àÊý½»»¥£¨³öÓÚÐÔÄÜºÍÊ¹ÓÃ·½±ãÐÔÁ½·½Ãæ·ÖÔ­Òò£©£¬µ«ÊÇÔÚÎ´À´µÄ¼¸ÄêÖÐ£¬XSLT ºÜÓÐ¿ÉÄÜ×îÖÕ³ÉÎªÏµÍ³Ö®¼ä½øÐÐÍ¨ÐÅµÄÖ÷Òª¡°±à³Ì¡±ÓïÑÔ¡£
¡¡¡¡XSLT ºÍ CSS Ö®¼äµÄÇø±ðÊÇÊ²Ã´£¿ËüÃÇ²»ÊÇÑùÊ½±íÂð£¿ 
¡¡¡¡²ãµþÑùÊ½±í (CSS) µÄÈÎÎñÊÇ¶Ô HTML ÔªËØÖ¸¶¨Ò»×éÏÔÊ¾ÊôÐÔ¡£CSS ¾ö¶¨ÁËÒ³ÃæµÄÊÓ¾õÍâ¹Û£¬µ«ÊÇ²»»á¸Ä±äÔ´ÎÄµµµÄ½á¹¹¡£
¡¡¡¡ÁíÒ»·½Ãæ£¬XSLT Ò²³ÆÎª»ùÓÚÄ£°åµÄÓïÑÔ£¬ËüÔÊÐí½«Ä³ÖÖÄ£Ê½Ó³Éäµ½Ô´ÎÄµµÖÐ£¬¸ÃÔ´ÎÄµµµÄÊä³öÊÇÓÃ XML¡¢HTML »ò´¿ÎÄ±¾ÊéÐ´µÄ¡£Ê¹ÓÃ XSLT£¬¿ÉÒÔ½« XML ÎÄµµµÄ½á¹¹×ª»»Îª²»Í¬µÄ XML ÎÄµµ¡£ÀýÈç£¬Äú¿ÉÒÔ¸ü¸Ä XML ÎÄµµµÄË³Ðò¡¢Ìí¼Ó»òÉ¾³ýÔªËØ¡¢Ö´ÐÐÌõ¼þ²âÊÔ»òÕßÓÃÔªËØµÄ¼¯ºÏ½øÐÐµü´ú¡£
¡¡¡¡XSLT ºÍ CSS ²»ÊÇ¼æÈÝ±ê×¼¡£Ò»ÖÖÔÚ XML ÖÐ´´½¨ Web Ò³ÃæµÄÓÐÓÃ¼¼Êõ£¬ÊÇÓÃ XSLT ½« XML ×ª»»ÎªÖîÈçÁÐ±í»ò±íµÄ½á¹¹£¬È»ºó½« CSS Ó¦ÓÃÓÚ½á¹û£¬¿ØÖÆÕâÐ©½á¹¹ÔÚÊÊµ±Ã½ÌåÖÐµÄÏÔÊ¾¡£ÄúÉõÖÁ¿ÉÒÔ´Ó XSLT ´´½¨ CSS¡£
¡¡¡¡±ê×¼ 
¡¡¡¡Microsoft ÈçºÎÓë XML ±ê×¼¼æÈÝ£¿ 
¡¡¡¡´Ó XML ÓïÑÔ¿ªÊ¼²úÉúÆð£¬Microsoft ¾ÍÕ¾ÔÚÁË XML µÄ×îÇ°ÑØ£¬¶øÇÒºÜÖµµÃ×¢ÒâµÄÊÇ£¬W3C ÔÚ¹ýÈ¥¼¸ÄêÖÐËùÉú³ÉµÄ´ó¶àÊý XML ½¨ÒéºÍ¹¤×÷²Ý°¸£¬¶¼°üÀ¨À´×ÔÖÁÉÙÒ»¸ö£¨ÔÚÄ³Ð©Çé¿öÏÂ¿ÉÄÜÊÇÊý¸ö£©Microsoft Ö°Ô±µÄÊäÈëºÍ²ÎÓë¡£Microsoft ÒÑ¾­¶à´Î±»Î¯ÒÔÖØÈÎ£¬Óë W3C ±ê×¼×éÖ¯Ò»Æð£¬È·±£ XML µÄ¿ª·¢ÄÜÊ¹ËùÓÐÓÃ»§ÊÜÒæ£¬²¢ÇÒÔÚÐí¶à²»Í¬ÁìÓòµÄ¿ª·¢ÖÐ¶¼×÷³öÁËÖØÒª¹±Ï×£¬°üÀ¨ XML ¹æ·¶¡¢DOM¡¢XSLT ºÍ¼Ü¹¹¶¨ÒåÓïÑÔ¡£Microsoft ³ÐÅµ½«Óë×îÐÂ¹æ·¶ºÍ±ê×¼±£³ÖÒ»ÖÂ¡£
¡¡¡¡XML ºÍ World Wide Web Consortium (W3C) Ö®¼äµÄ¹ØÏµÊÇÊ²Ã´£¿ 
¡¡¡¡W3C ÓÐÒ»»îÔ¾µÄ XML ¹¤×÷×é¡£Microsoft ´Ó 1996 Äê 6 ÔÂÆð¾ÍÊÇ¸Ã×éÖ¯µÄ¹²Í¬·¢ÆðÕßÖ®Ò»£¬´ÓÄÇÊ±ÆðÐí¶àÒµ½çÆóÒµ¶¼¿ªÊ¼¼ÓÈë£¬°üÀ¨ Netscape Communications Corp.¡¢IBM ºÍ Oracle¡£ÓÐ¹Ø XML ±ê×¼¹ý³ÌµÄÏêÏ¸ÐÅÏ¢£¬Çë·ÃÎÊ W3C Web Õ¾µã£¨Ó¢ÎÄ£©¡£
¡¡¡¡XML ºÍ W3C µÄµØÎ»¹ØÏµÈçºÎ£¿ 
¡¡¡¡XML 1.0 ÊÇÔÚ 1998 Äê 12 ÔÂ±»ÕýÊ½Åú×¼µÄ£¬ÏÖÔÚÈÔÊÇ¸öÎÈ¶¨µÄ±ê×¼¡£ÓÐ¹Øµ±Ç° XML ¹æ·¶µÄÏêÏ¸ÐÅÏ¢ÒÔ¼° W3C ÄÚ²¿µÄÌá½»ºÍÉóÔÄ¹ý³Ì£¬Çë²Î¼û W3C Web Õ¾µã£¨Ó¢ÎÄ£©¡£
¡¡¡¡DOM ÔÚ W3C ÖÐµÄµØÎ»ÈçºÎ£¿ 
¡¡¡¡DOM Level 1 µÄ W3C ÎÄµµ×´Ì¬Îª¡°ÍÆ¼ö¡±¡£ÕâËµÃ÷ W3C Ä¿Ç°ÕýÔÚÌáÒé½«Ëü×÷Îª World Wide Web ÉÏµÄ±ê×¼¡£ÓÐ¹Ø DOM ºÍÔÚ W3C ÄÚ²¿Ìá½»ºÍÉóÔÄ¹ý³ÌµÄÏêÏ¸ÐÅÏ¢£¬Çë²Î¼û DOM ¹æ·¶£¨Ó¢ÎÄ£©¡£
¡¡¡¡¹¤¾ßÖ§³Ö 
¡¡¡¡SQL Server ºÍ ADO Ö§³Ö XML Âð£¿ 
¡¡¡¡Microsoft ActiveX Êý¾Ý¶ÔÏó (ADO) ¼¼Êõ£¬Ìá¹©Ðí¶à½«Êý¾Ý¿â¼ÇÂ¼¼¯£¨Êý¾Ý¼ÇÂ¼¼¯ºÏ£©×ª»»Îª XML ¸ñÊ½µÄ·½·¨£¬ÒÔ¼°´Ó¸ø¶¨½á¹¹ÖÐ»ñÈ¡ XML ²¢½«Æä×ª»»»Ø ADO ËùÖ§³ÖÊý¾Ý¿â£¨°üÀ¨ SQL Server ºÍ Oracle Êý¾Ý¿â£©µÄ¹¤¾ß¡£´ËÍâ£¬Í¨¹ý MSXML2 ºÍ MSXML3 ÖÐµÄ XML Êý¾ÝÔ´¶ÔÏó£¬»¹¿ÉÒÔ½«ÈÎÒâ XML Ö±½Ó¼ÓÔØµ½ ADO ÖÐÒÔÉú³É¼ÇÂ¼¼¯¡£
¡¡¡¡SQL Server 2000 »¹ÔÊÐíÍ¨¹ý URL Ö±½ÓÉèÖÃºÍ¼ìË÷ XML£¬·½Ê½ºÍµ÷ÓÃ Web Ò³Ãæ·Ç³£ÏàËÆ¡£ÕâÊÇ´¦ÀíÊý¾ÝµÄÇ¿´ó»úÖÆ£¬ÒòÎªËü»ù±¾ÉÏÒâÎ¶×Å¿ÉÒÔ½« SQL Server Êý¾ÝÖ±½Ó¼¯³Éµ½ XML ¹ýÂËÆ÷ºÍ Web Ò³Ãæ£¬»ù±¾ÉÏ·²ÊÇÓÐ XML ÎÄµµµÄµØ·½¶¼¿ÉÒÔ¼¯³É SQL Server Êý¾Ý¡£´ËÍâ£¬»¹¿ÉÒÔÉèÖÃ×Ô¶¨ÒåÄ£°å£¬À´¿ØÖÆÈçºÎ´Ó SQL Server Êý¾ÝÖÐ²úÉú XML£¬Ê¹Êý¾Ý¿â³ÉÎªÉú³É XHTML Ò³ÃæµÄÇ¿´ó¹¤¾ß¡£
¡¡¡¡×îºó£¬ÖîÈç BizTalk Server ÕâÑùµÄÓ¦ÓÃ³ÌÐò»¹ÔÊÐíÔÚÈÎÒâÊýÁ¿µÄ²»Í¬Êý¾ÝÔ´£¨´Ó XML ÎÄµµµ½Êý¾Ý¿âµ½ Excel ºÍ Word ÎÄµµ£©Ö®¼ä½øÐÐÓ³Éä¡¢Îª Web ÌåÏµ½á¹¹´´½¨¸´ÔÓÊý¾Ý¹ÜµÀÒÔ¼°¸ù¾Ý XML Êý¾Ý¿âÐèÇó¹¹ÔìÓÐÐ§µÄ¼Ü¹¹¡£
¡¡¡¡Ä¿Ç°ÓÐ Microsoft ¹¤¾ß¿ÉÒÔ°ïÖúÎÒ¿ìËÙÑØÓÃ XML Âð£¿ 
¡¡¡¡Microsoft BizTalk Server 2000 ÊÇÓÃÓÚÊý¾Ý½»»»µÄ¡¢»ùÓÚ XML µÄ·þÎñÆ÷£¬ËüÌá¹©ÆôÓÃµç×ÓÉÌÎñÒµÎñÉç»áµÄ»ù±¾½á¹¹ºÍ¹¤¾ß¡£BizTalk Server µÄ»ù´¡ÊÇ»ùÓÚ¹æÔòµÄÒµÎñÎÄµµÂ·ÓÉ¡¢×ª»»ºÍ¸ú×Ù»ù±¾½á¹¹¡£¸Ã»ù±¾½á¹¹ÔÊÐí¹«Ë¾Í¨¹ýÔÚ×éÖ¯±ß½çÖ®ÄÚ»òÖ®¼äµÄÓ¦ÓÃ³ÌÐòÖÐ¼ä½»»»ÒµÎñÎÄµµ£¬ÀýÈç¹ºÂò¶¨µ¥ºÍ·¢Æ±£¬À´¼¯³É¡¢¹ÜÀíºÍ×Ô¶¯»¯ÒµÎñ¹ý³Ì¡£ÓÐ¹ØÏêÏ¸ÐÅÏ¢£¬Çë²Î¼ûMicrosoft BizTalk Server 2000£¨Ó¢ÎÄ£© ¡£
¡¡¡¡Ê²Ã´ÊÇ SOAP£¿ 
¡¡¡¡SOAP ÊÇ¼òµ¥¶ÔÏó·ÃÎÊÐ­Òé£¬ÊÇ´´½¨´ó·¶Î§·Ö²¼Ê½¡¢¸´ÔÓ¼ÆËã»·¾³µÄ¹¤¾ß£¬¸Ã¼ÆËã»·¾³¿ÉÊ¹ÓÃÏÖÓÐµÄ Internet »ù±¾½á¹¹ÔËÐÐÔÚ Internet ÉÏ¡£SOAP ¿ÉÒÔÊ¹Ó¦ÓÃ³ÌÐòÓÃÐíÐí¶à¶à·½·¨ÔÚ Internet ÉÏ»¥ÏàÖ±½ÓÍ¨ÐÅ¡£ÓÐ¹Ø SOAP µÄÏêÏ¸ÐÅÏ¢£¬Çë²Î¼û SOAP ¹æ·¶£¨Ó¢ÎÄ£©¡£
¡¡¡¡XML ÈçºÎÊÊÓÃÓÚ Microsoft Windows? Distributed InterNet Applications (Windows DNA) ²ßÂÔÀ´¹¹ÔìÈý²ã²¢¾ßÓÐ Web ¹¦ÄÜµÄÓ¦ÓÃ³ÌÐò£¿ 
¡¡¡¡XML ÕýÔÚ¿ìËÙ³ÉÎª½«½á¹¹»¯Êý¾Ý´ÓÖÐ¼ä²ã´«ËÍµ½×ÀÃæµÄ¹¤¾ß¡£»ùÓÚ XML µÄÊý¾Ý¿ÉÒÔÍ¨¹ýÖÐ¼ä²ã´úÀíÓë¶àÖÖºó¶Ë£¨Êý¾Ý¿â£©Ô´¼¯³É¡£¼Ü¹¹£¨²Î¼û¡°XML Êý¾Ý¡±Ò»½Ú£©¿ÉÒÔ¸Ä½ø¸Ã¹ý³Ì£¬²¢ÇÒ¿ª·¢ÈËÔ±¿ÉÒÔ¸ü¾«È·µØÃèÊöºÍ½»»»Êý¾Ý¡£
¡¡¡¡ÎÊÌâºÍ½â¾ö·½°¸ 
¡¡¡¡ÎªÊ²Ã´ÔÚµ÷ÓÃÁË Load() ·½·¨ºó£¬ÎÒµÄÎÄµµ¶ÔÏóÈÔÈ»Îª¿Õ£¿ 
¡¡¡¡Ä¬ÈÏÇé¿öÏÂ²Ù×÷ÊÇÒì²½¼ÓÔØµÄ¡£ÕâÒâÎ¶×ÅÈç¹ûÌá¹© http URL µØÖ·£¬ÄÇÃ´ load() ·½·¨½«Ö±½Ó·µ»Ø£¬²¢ÇÒÎÄµµ¶ÔÏóÈÔÈ»Îª¿Õ£¬ÒòÎªÊý¾Ý»¹Ã»ÓÐ´Ó·þÎñÆ÷·µ»Ø¡£ÎªÁË¾ÀÕýÕâ¸öÎÊÌâ£¬ÇëÔÚ´úÂëÖÐÌí¼ÓÏÂÃæµÄÐÐ£º
¡¡¡¡xmldoc.async = false;
¡¡¡¡Í¬Ê±£¬Èç¹ûÊÇ´Ó¶ÀÁ¢µÄ C++ Ó¦ÓÃ³ÌÐò¼ÓÔØ http XML ÎÄµµ£¬ÄÇÃ´±ØÐë²éÑ¯ÏûÏ¢¶ÓÁÐ²ÅÄÜ¼ÌÐø¼ÓÔØ¡£
]]></description>
		</item>
		<item>
			<title>XMLÈëÃÅµÄ³£¼ûÎÊÌâ(Èý)</title>
			<link>http://www.kingmx.com/article.php?id=12215</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡×÷Õß£ºAngelGavin ³ö´¦£ºCSDN
¡¡¡¡ÈçºÎ¼ÓÔØÓÐÍâ¹úºÍÌØÊâ×Ö·ûµÄÎÄµµ£¿ 
¡¡¡¡ÎÄµµ¿ÉÒÔ°üº¬Íâ¹ú×Ö·û£¬ÀýÈç£º
¡¡¡¡foreign characters (¨²¨®¨ª?) 
¡¡¡¡ÀýÈç ?óí? µÄÍâ¹ú×Ö·û±ØÐëÔÚÇ°Ãæ¼ÓÉÏ escape ÐòÁÐ¡£Íâ¹ú×Ö·û¿ÉÒÔÊÇ UTF-8 ±àÂë»òÓÃ²»Í¬±àÂëÖ¸¶¨£¬ÈçÏÂËùÊ¾£º
¡¡¡¡foreign characters (?óí?) 
¡¡¡¡ÏÖÔÚ¿ÉÒÔÕýÈ·¼ÓÔØ XML ÁË¡£
¡¡¡¡ÆäËû×Ö·ûÊÇ±£ÁôÔÚ XML ÖÐµÄ£¬²¢ÇÒÐèÒªÒÔ²»Í¬µÄ·½Ê½´¦Àí¡£ÏÂÃæµÄ XML£º
¡¡¡¡This &amp; that
¡¡¡¡²úÉúÈçÏÂ´íÎó£º
¡¡¡¡´Ë´¦²»ÔÊÐíÓÐ¿Õ¸ñ¡£
¡¡¡¡ÐÐ 0000001: This &amp; that
¡¡¡¡Î»ÖÃ 0000012: ----------^ 
¡¡¡¡´Ë´¦ &amp; ÊÇ XML ¾ä·¨½á¹¹µÄÒ»²¿·Ö£¬Èç¹ûËü½ö½ö·ÅÔÚ XML Êý¾ÝÔ´ÄÚ²¿£¬ÄÇÃ´²»ÄÜ½âÊÍÎª &amp;¡£ÄúÐèÒªÌæ»»³ÆÎª¡°ÊµÌå¡±µÄÌØÊâ×Ö·ûÐòÁÐ¡£
¡¡¡¡This &amp; that
¡¡¡¡ÏÂÃæµÄ×Ö·ûÐèÒªÏàÓ¦µÄÊµÌå£º
¡¡¡¡&lt; &lt;
¡¡¡¡&amp; &amp;
¡¡¡¡&gt; &gt;
¡¡¡¡" "
¡¡¡¡' &amp;apos; 
¡¡¡¡ÒýºÅ×Ö·û±»ÓÃ×÷±ê¼ÇÖÐÊôÐÔÖµµÄ¶¨½ç·û£¬Òò´ËÍ¨³£²»ÄÜÔÚÊôÐÔÖµµÄÄÚ²¿Ê¹ÓÃ¡£ÀýÈç£¬ÏÂÃæµÄÄÚÈÝ½«·µ»Ø´íÎó£º
¡¡¡¡´Ë´¦µÄµ¥ÒýºÅ¼ÈÓÃ×÷ÊôÐÔ¶¨½ç·û£¬ÓÖÔÚÊôÐÔÖµ×ÔÉíÖÐ¡£ÎªÁË¾ÀÕýÕâ¸öÎÊÌâ£¬¿ÉÒÔ½«ÊôÐÔ¶¨½ç·û»»³ÉË«ÒýºÅ£º
¡¡¡¡»òÕß¿ÉÒÔ½«µ¥ÒýºÅ×ªÒåÎªÊµÌå &amp;apos; 
¡¡¡¡ÉÏÊöÁ½ÖÖ·½Ê½¶¼½«Í¨¹ý XML ¶ÔÏóÄ£ÐÍÖÐµÄ getAttribute ·½·¨·µ»ØÊôÐÔÖµ John's Stuff¡£Í¬Ñù£¬¶ÔÓÚË«ÒýºÅ£¬Äú¿ÉÒÔÊ¹ÓÃÊµÌå
¡¡¡¡"¡£
¡¡¡¡Ò²¿ÉÒÔÍ¨¹ý½«ÎÄ±¾·ÅÔÚ CDATA ½ÚÖÐÀ´´¦ÀíÔªËØÄÚÈÝÖÐµÄÌØÊâ×Ö·û¡£ÏÂÃæµÄÄÚÈÝÊÇÕýÈ·µÄ£º
¡¡¡¡ÔÚ±¾Àý×ÓÖÐ£¬XML ¶ÔÏóÄ£ÐÍ½« CDATA ½ÚµãÏÔÊ¾ xml ½ÚµãµÄ×Ó½Úµã£¬Ëü½«·µ»Ø×Ö·û´®
¡¡¡¡This &amp; that is just "text" content.
¡¡¡¡×÷Îª nodeValue¡£
¡¡¡¡ÈçºÎÔÚ Visual Studio 6.0 C++ ÖÐÊ¹ÓÃ MSXML COM ×é¼þ£¿ 
¡¡¡¡ÔÚ Visual C++ 6.0 ÖÐÊ¹ÓÃ MSXML COM ×é¼þMµÄ×î¼ò±ã·½Ê½ÊÇÊ¹ÓÃ #import Ö¸Áî£º
¡¡¡¡#import "msxml.dll" named_guids no_namespace#import "msxml.dll" named_guids no_namespace
¡¡¡¡Ëü¶¨ÒåÁËËùÓÐ IXML* ½Ó¿ÚºÍ½Ó¿Ú ID£¬´Ó¶ø¿ÉÒÔÔÚÓ¦ÓÃ³ÌÐòÖÐÊ¹ÓÃËüÃÇÁË¡£Ò²¿ÉÒÔ´Ó INETSDK »ñÈ¡ MSXML ÀàÐÍ¿âºÍÍ·ÎÄ¼þ£¨Ó¢ÎÄ£©£¬ÒÔ¼°°üº¬Àà IIDs µÄ uuid.lib¡£ 
¡¡¡¡ÈçºÎÔÚ XML ÖÐÊ¹ÓÃ HTML ÊµÌå£¿ 
¡¡¡¡ÏÂÃæµÄ XML °üº¬ HTML ÊµÌå£º
¡¡¡¡Copyright ? 2000, Microsoft Inc, All rights reserved. 
¡¡¡¡Ëü²úÉúÏÂÁÐ´íÎó£º
¡¡¡¡ÒýÓÃÎ´¶¨ÒåµÄÊµÌå 'copy'¡£
¡¡¡¡ÐÐ£º 1, Î»ÖÃ£º23, ´íÎóÂë£º0xC00CE002
¡¡¡¡Copyright ? 2000, ...
¡¡¡¡----------------------^ 
¡¡¡¡ÕâÊÇÒòÎª XML Ö»ÓÐÎå¸öÄÚÖÃÊµÌå¡£¹ØÓÚÄÚÖÃÊµÌåµÄÏêÏ¸ÐÅÏ¢£¬Çë²ÎÔÄÈçºÎ¼ÓÔØÓÐÍâ¹úºÍÌØÊâ×Ö·ûµÄÎÄµµ£¿¡£
¡¡¡¡ÒªÊ¹ÓÃ HTML ÊµÌå£¬ÐèÒªÓÃ DTD ¶¨ÒåËüÃÇ¡£ÓÐ¹Ø DTD µÄÏêÏ¸ÐÅÏ¢£¬Çë²ÎÔÄ W3C XML ½¨Òé£¨Ó¢ÎÄ£©¡£ÒªÊ¹ÓÃ¸Ã DTD£¬Çë½«ËüÖ±½Ó°üÀ¨ÔÚ DOCTYPE ±ê¼ÇÖÐ£¬ÈçÏÂËùÊ¾£º
¡¡¡¡Copyright ? 2000, Microsoft Inc, All rights reserved. 
¡¡¡¡Òª¼ÓÔØËü£¬ÐèÒª¹Ø±Õ IXMLDOMDocument ½Ó¿ÚµÄ validateOnParse ÊôÐÔ¡£Çë³¢ÊÔ½«ËüÕ³Ìùµ½¡°Validator ²âÊÔÒ³¡±ÖÐ£¬¹Ø±Õ DTD ÑéÖ¤£¬È»ºóµ¥»÷¡°ÑéÖ¤¡±¡£Çë×¢ÒâÎÄµµ½«¼ÓÔØ£¬²¢ÇÒ°æÈ¨×Ö·û½«ÏÔÊ¾ÔÚ validator Ò³ÃæµÄÄ©Î²µÄ DOM Ê÷ÖÐ¡£
¡¡¡¡Èç¹ûÒÑ¾­Íê³ÉÁË DTD ÑéÖ¤£¬ÄÇÃ´±ØÐë½«×÷Îª²ÎÊýÊµÌåµÄ HTML ÊµÌå°üÀ¨ÔÚÏÖÓÐµÄ DTD ÖÐ£¬ÈçÏÂËùÊ¾£º
¡¡¡¡%HTMLENT;
¡¡¡¡%HTMLENT; 
¡¡¡¡Ëü½«¶¨ÒåËùÓÐ HTML ÊµÌå£¬ÒÔ±ãÔÚ XML ÎÄµµÖÐÊ¹ÓÃËüÃÇ¡£ 
¡¡¡¡ÔÚÔªËØÄÚÈÝÖÐÈçºÎ´¦Àí¿Õ°××Ö·û£¿ 
¡¡¡¡XML DOM ÓÐÈýÖÖ·ÃÎÊÔªËØÎÄ±¾ÄÚÈÝµÄ·½Ê½£º
¡¡¡¡ÊôÐÔ ÐÐÎª 
¡¡¡¡nodeValue °´ÕÕÔ­Ê¼µÄ XML Ô´ÖÐÖ¸¶¨µÄÄÇÑù£¬·µ»Ø TEXT¡¢CDATA¡¢COMMENT ºÍ PI ½ÚµãÉÏµÄÔ­Ê¼ÎÄ±¾ÄÚÈÝ£¨°üÀ¨¿Õ°××Ö·û£©¡£¶ÔÓÚ ELEMENT ½ÚµãºÍ DOCUMENT ±¾Éí£¬Ôò·µ»Ø¿ÕÖµ¡£ 
¡¡¡¡Êý¾Ý Óë nodeValue ÏàÍ¬ 
¡¡¡¡ÎÄ±¾ ÖØ¸´Á¬½ÓÖ¸¶¨×ÓÊ÷ÖÐµÄ¶à¸ö TEXT ºÍ CDATA ½Úµã²¢·µ»Ø×éºÏ½á¹û¡£ 
¡¡¡¡×¢Òâ£º ¿Õ°××Ö·û°üÀ¨ÐÂÐÐ¡¢tab ºÍ¿Õ¸ñ¡£ 
¡¡¡¡nodeValue ÊôÐÔÍ¨³£·µ»ØÔ­Ê¼ÎÄµµÖÐµÄÄÚÈÝ£¬ÓëÎÄµµÈçºÎ¼ÓÔØºÍµ±Ç° xml:space ·¶Î§ÎÞ¹Ø¡£ 
¡¡¡¡ÎÄ±¾ÊôÐÔÁ¬½ÓÖ¸¶¨×ÓÊ÷ÖÐµÄËùÓÐÎÄ±¾²¢À©Õ¹ÊµÌå¡£ÕâÓëÎÄµµÈçºÎ¼ÓÔØ¡¢preserveWhiteSpace ¿ª¹ØµÄµ±Ç°×´Ì¬ºÍµ±Ç° xml:space ·¶Î§ÓÐ¹Ø£¬Çë¿´ÈçÏÂËùÊ¾£º
¡¡¡¡preserveWhiteSpace = true when the document is loaded 

preserveWhiteSpace=true
preserveWhiteSpace=true
preserveWhiteSpace=false
preserveWhiteSpace=false

xml:space=preserve
xml:space=default
xml:space=preserve
xml:space=default

±£Áô
±£Áô
±£Áô
±£Áô²¢½Ø¶Ï

¡¡¡¡preserveWhiteSpace = false when the document is loaded 

preserveWhiteSpace=true
preserveWhiteSpace=true
preserveWhiteSpace=false
preserveWhiteSpace=false

xml:space=preserve
xml:space=default
xml:space=preserve
xml:space=default

°ë±£Áô
°ë±£Áô²¢½Ø¶Ï
°ë±£Áô
°ë±£Áô²¢½Ø¶Ï

¡¡¡¡´Ë´¦µÄ±£Áô±íÊ¾ºÍÔ­Ê¼ XML ÎÄµµÖÐÍêÈ«ÏàÍ¬µÄÔ­Ê¼ÎÄ±¾ÄÚÈÝ£¬½Ø¶ÏÒâÎ¶×ÅÇ°µ¼ºÍÎ²²¿¿Õ¸ñÒÑ¾­É¾³ý£¬°ë±£ÁôÒâÎ¶×Å±£ÁôÁË¡°ÖØÒªµÄ¿Õ°××Ö·û¡±²¢¹æ·¶»¯ÁË¡°²»ÖØÒªµÄ¿Õ°××Ö·û¡±¡£ÖØÒªµÄ¿Õ°××Ö·ûÊÇÎÄ±¾ÄÚÈÝÄÚ²¿µÄ¿Õ°××Ö·û¡£²»ÖØÒªµÄ¿Õ°××Ö·ûÊÇ±ê¼ÇÖ®¼äµÄ¿Õ°××Ö·û£¬Çë¿´ÈçÏÂËùÊ¾£º
¡¡¡¡/n
¡¡¡¡/t¡¡ Jane/n
¡¡¡¡/tSmith¡¡¡¡ /n 
¡¡¡¡ÔÚ±¾Ê¾ÀýÖÐ£¬ºìÉ«ÊÇ¿ÉÒÔºöÂÔµÄ²»ÖØÒªµÄ¿Õ°××Ö·û£¬¶øÂÌÉ«ÊÇÖØÒªµÄ¿Õ°××Ö·û£¬ÒòÎªËüÊÇÎÄ±¾ÄÚÈÝµÄÒ»²¿·Ö£¬Òò´ËÓÐ²»¿ÉºöÂÔµÄÖØÒªº¬Òå¡£ËùÒÔÔÚ±¾ÀýÖÐ£¬ÎÄ±¾ÊôÐÔ·µ»ØÏÂÁÐ½á¹û£º
¡¡¡¡×´Ì¬ ·µ»ØÖµ 
¡¡¡¡±£Áô "/n/t¡¡ Jane/n/tSmith¡¡ /n"
¡¡¡¡
¡¡¡¡±£Áô²¢½Ø¶Ï "Jane/n/tSmith"
¡¡¡¡
¡¡¡¡°ë±£Áô "¡¡ Jane Smith¡¡ "
¡¡¡¡
¡¡¡¡°ë±£Áô²¢½Ø¶Ï "Jane Smith"
¡¡¡¡Çë×¢Òâ¡°°ë±£Áô¡±½«¹æ·¶»¯²»ÖØÒªµÄ¿Õ°××Ö·û£¬ÀýÈç£¬ÐÂÐÐºÍ tab ×Ö·û½«ÍË»¯Îªµ¥¸ö¿Õ¸ñ¡£Èç¹û¸ü¸Ä xml:space ÊôÐÔºÍ preserveWhiteSpace ¿ª¹Ø£¬ÄÇÃ´ÎÄ±¾ÊôÐÔ½«·µ»ØÏàÓ¦µÄ²»Í¬Öµ¡£
¡¡¡¡CDATA and xml:space="preserve" subtree boundaries 
¡¡¡¡ÔÚÏÂÃæµÄÀý×ÓÖÐ£¬CDATA ½Úµã»ò¡°±£Áô¡±½ÚµãµÄÄÚÈÝ½«µÃµ½Á¬½Ó£¬Ô­ÒòÊÇËüÃÇ²»²ÎÓë²»ÖØÒªµÄ¿Õ°××Ö·û¹æ·¶»¯¡£ÀýÈç£º
¡¡¡¡/n
¡¡¡¡/t Jane /n
¡¡¡¡/t¡¡¡¡ Smith¡¡¡¡ ]&gt;/n 
¡¡¡¡ÔÚÕâÖÖÇé¿öÏÂ£¬CDATA ½ÚµãÄÚ²¿µÄ¿Õ°××Ö·û²»ÔÙÓë¡°²»ÖØÒª¡±¿Õ°××Ö·û¡°ºÏ²¢¡±£¬²¢ÇÒ²»»á½Ø¶Ï¡£Òò´Ë¡°°ë±£Áô²¢½Ø¶Ï¡±Çé¿ö½«·µ»ØÏÂÁÐÄÚÈÝ£º
¡¡¡¡"Jane¡¡¡¡ Smith¡¡¡¡ "
¡¡¡¡ÔÚ´Ë£¬ ºÍ ±ê¼ÇÖ®¼äµÄ²»ÖØÒªµÄ¿Õ°××Ö·û½«°üÀ¨ÔÚÄÚ£¬Óë CDATA ½ÚµãµÄÄÚÈÝÎÞ¹Ø¡£Èç¹ûÓÃÏÂÁÐÄÚÈÝ´úÌæ CDATA£¬ÄÇÃ´½«·µ»ØÏàÍ¬½á¹û£º
¡¡¡¡Smith¡¡¡¡ 
¡¡¡¡ÊµÌåÊÇÌØÊâµÄ 
¡¡¡¡ÊµÌåÊÇ×÷Îª DTD µÄÒ»²¿·Ö¼ÓÔØºÍ·ÖÎöµÄ£¬²¢ÇÒÏÔÊ¾ÔÚ DOCTYPE ½ÚµãÏÂ¡£ËüÃÇ²»Ò»¶¨ÒªÓÐÈÎºÎ xml:space ·¶Î§¡£ÀýÈç£º
¡¡¡¡Jane /n
¡¡¡¡/t/n
¡¡¡¡"&gt;
¡¡¡¡]&gt;
¡¡¡¡&amp;Jane; 
¡¡¡¡¼Ù¶¨ preserveWhiteSpace=false£¨ÔÚ DOCTYPE ±ê¼Ç·¶Î§ÄÚ£©£¬ÔÚ·ÖÎöÊµÌåÊ±²»ÖØÒªµÄ¿Õ°××Ö·û¶ªÊ§¡£ÊµÌå½«²»»áÓÐ¿Õ°××Ö·û½Úµã¡£Ê÷½«ÀàËÆÓÚ£º
¡¡¡¡DOCTYPE foo
¡¡¡¡ENTITY: Jane
¡¡¡¡ELEMENT: employee
¡¡¡¡ELEMENT: name
¡¡¡¡TEXT: Jane 
¡¡¡¡ELEMENT: title
¡¡¡¡TEXT&gt;:Software Design Engineer
¡¡¡¡ELEMENT: foo
¡¡¡¡ATTRIBUTE: xml:space="preserve"
¡¡¡¡ENTITYREF: Jane 
¡¡¡¡Çë×¢Òâ£¬ÔÚ DOCTYPE ÄÚ²¿ ENTITY ½ÚµãÏÂÏÔÂ¶µÄ DOM Ê÷²»°üº¬ÈÎºÎ WHITESPACE ½Úµã¡£ÕâÒâÎ¶×Å ENTITYREF ½ÚµãµÄ×Ó½ÚµãÒ²Ã»ÓÐ WHITESPACE ½Úµã£¬¼´Ê¹ÊµÌåÒýÓÃÔÚ xml:space="preserve" µÄ·¶Î§ÄÚÒ²ÊÇÕâÑù¡£ 
¡¡¡¡¸ø¶¨ÎÄµµÖÐÒýÓÃµÄÃ¿¸ö ENTITY µÄÊµÀýÍ¨³£¶¼ÓÐÏàÍ¬µÄÊ÷¡£ 
¡¡¡¡Èç¹ûÊµÌå±ØÐë¾ø¶Ô±£Áô¿Õ°××Ö·û£¬ÄÇÃ´Ëü±ØÐëÔÚ×Ô¼ºÄÚ²¿Ö¸¶¨×Ô¼ºµÄ xml:space ÊôÐÔ£¬»òÕßÎÄµµ preserveWhiteSpace ¿ª¹Ø±ØÐëÉèÖÃÎª true¡£
¡¡¡¡ÈçºÎ´¦ÀíÊôÐÔÖÐµÄ¿Õ°××Ö·û£¿ 
¡¡¡¡ÓÐ¼¸ÖÖ·½Ê½¿ÉÒÔ·ÃÎÊÊôÐÔÖµ¡£IXMLDOMAttribute ½Ó¿ÚÓÐ nodeValue ÊôÐÔ£¬ËüµÈ¼ÛÓÚ×÷Îª Microsoft À©Õ¹µÄ nodeValue ºÍ text ÊôÐÔ¡£ÕâÐ©ÊôÐÔ·µ»Ø£º ÊôÐÔ ·µ»ØµÄÎÄ±¾ 
¡¡¡¡attrNode.nodeValue
¡¡¡¡attrNode.value
¡¡¡¡getAttribute("name") ·µ»ØºÍÔ­Ê¼ÎÄµµÖÐÍêÈ«ÏàÍ¬µÄÄÚÈÝ£¨ºÍÀ©Õ¹µÄÊµÌå£©¡£ 
¡¡¡¡attrNode.nodeTypedValue Null 
¡¡¡¡attrNode.text ³ýÁËÇ°µ¼ºÍÎ²²¿µÄ¿Õ°××Ö·ûÒÑ¾­½Ø¶ÏÖ®Íâ£¬ÆäËûÓë nodeValue ÏàÍ¬¡£ 
¡¡¡¡¡°XML ÓïÑÔ¡±¹æ·¶Îª XML Ó¦ÓÃ³ÌÐò¶¨ÒåÁËÏÂÁÐÐÐÎª£º ÊôÐÔÀàÐÍ ·µ»ØµÄÎÄ±¾ 
¡¡¡¡CDATA ID¡¢IDREF¡¢IDREFS¡¢ENTITY¡¢ENTITIES¡¢NOTATION¡¢Ã¶¾Ù 
¡¡¡¡°ë¹æ·¶»¯ È«¹æ·¶»¯ 
¡¡¡¡ÔÚ´Ë°ë¹æ·¶»¯´ú±í½«ÐÂÐÐºÍ tab ×Ö·û×ª»»Îª¿Õ¸ñ£¬µ«ÊÇ¶à¸ö¿Õ¸ñ²»»áÍË»¯ÎªÒ»¸ö¿Õ¸ñ¡£
]]></description>
		</item>
		<item>
			<title>XMLÈëÃÅµÄ³£¼ûÎÊÌâ(ËÄ)</title>
			<link>http://www.kingmx.com/article.php?id=12216</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
¡¡¡¡ÔÚ XML ¶ÔÏóÄ£ÐÍÖÐÈçºÎ´¦Àí¿Õ°××Ö·û£¿ 
¡¡¡¡ÓÐÐ©Ê±ºò£¬XML ¶ÔÏóÄ£ÐÍ½«ÏÔÊ¾°üº¬¿Õ°××Ö·ûµÄ TEXT ½Úµã¡£¿Õ°××Ö·û±»½Ø¶Ïºó£¬¶à°ë»á´øÀ´Ò»Ð©»ìÂÒ¡£ÀýÈçÏÂÃæµÄ XML Àý×Ó£º
&nbsp;¡¡¡¡]&gt;
¡¡¡¡Smith
¡¡¡¡John
&nbsp;
¡¡¡¡Éú³ÉÏÂÁÐÊ÷£º
&nbsp;¡¡¡¡Processing Instruction: xml
¡¡¡¡DocType: person
¡¡¡¡ELEMENT: person
¡¡¡¡TEXT: 
¡¡¡¡ELEMENT: lastname
¡¡¡¡TEXT: 
¡¡¡¡ELEMENT: firstname
¡¡¡¡TEXT:&nbsp; 
¡¡¡¡Ãû×ÖºÍÐÕÊÏÁ½±ßÊÇÖ»°üº¬¿Õ°××Ö·ûµÄ TEXT ½Úµã£¬ÒòÎª¡°person¡±ÔªËØµÄÄÚÈÝÄ£ÐÍÊÇ MIXED£»Ëü°üº¬ #PCDATA ¹Ø¼ü×Ö¡£MIXED ÄÚÈÝÄ£ÐÍÖ¸¶¨ÔªËØÖ®¼ä¿ÉÒÔÓÐÎÄ±¾´æÔÚ¡£Òò´Ë£¬ÏÂÃæµÄÄÚÈÝÒ²ÊÇÕýÈ·µÄ£º
&nbsp;¡¡¡¡My last name is Smith and my first name is
¡¡¡¡John 
¡¡¡¡½á¹ûÊÇÀàËÆÓÚÏÂÃæµÄÊ÷£º
&nbsp;¡¡¡¡ELEMENT: person
¡¡¡¡TEXT: My last name is
¡¡¡¡ELEMENT: lastname
¡¡¡¡TEXT: and my first name is
¡¡¡¡ELEMENT: firstname
¡¡¡¡TEXT:&nbsp; 
¡¡¡¡Èç¹ûÃ»ÓÐµ¥´Ê¡°is¡±Ö®ºóºÍ Ö®Ç°µÄ¿Õ°××Ö·û£¬ÒÔ¼° Ö®ºóºÍµ¥´Ê¡°and¡±Ö®Ç°µÄ¿Õ°××Ö·û£¬ÄÇÃ´¾ä×Ó±ãÎÞ·¨Àí½â¡£Òò´Ë£¬¶ÔÓÚ MIXED ÄÚÈÝÄ£ÐÍÀ´Ëµ£¬ÎÄ×Ö×éºÏ¡¢¿Õ°××Ö·ûºÍÔªËØ¶¼ÊÇÏà¹ØµÄ¡£¶ÔÓÚ·Ç MIXED ÄÚÈÝÄ£ÐÍÀ´ËµÔò²»ÊÇÕâÑù¡£ 
¡¡¡¡ÒªÊ¹Ö»ÓÐ¿Õ°××Ö·ûµÄ TEXT ½ÚµãÏûÊ§£¬Çë´Ó¡°person¡±ÔªËØÉùÃ÷ÖÐÉ¾³ý #PCDATA ¹Ø¼ü×Ö£º
¡¡¡¡½á¹ûÊÇÏÂÃæÇåÎúµÄÊ÷£º
&nbsp;¡¡¡¡Processing Instruction: xml
¡¡¡¡DocType: person
¡¡¡¡ELEMENT: person
¡¡¡¡ELEMENT: lastname
¡¡¡¡ELEMENT: firstname 
¡¡¡¡XML ÉùÃ÷×öÊ²Ã´£¿ 
¡¡¡¡XML ÉùÃ÷±ØÐëÁÐÔÚ XML ÎÄµµµÄ¶¥²¿£º
¡¡¡¡ËüÖ¸¶¨ÏÂÃæµÄÏîÄ¿£º
¡¡¡¡¸ÃÎÄµµÊÇ XML ÎÄµµ¡£ÔÚ¶ªÊ§»òÕß»¹Ã»ÓÐÖ¸¶¨ MIME ÀàÐÍÊ± MIME Ì½²âÆ÷¿ÉÒÔÓÃËüÀ´¼ì²âÎÄ¼þÊÇ·ñÎªÀàÐÍ text/xml¡£ 
¡¡¡¡ÎÄµµ·ûºÏ XML 1.0 ¹æ·¶¡£ÔÚÒÔºó XML ÓÐÆäËû°æ±¾Ê±ÕâÒ»µãºÜÖØÒª¡£ 
¡¡¡¡ÎÄµµ×Ö·û±àÂë¡£±àÂëÊôÐÔÊÇ¿ÉÑ¡µÄ£¬Ä¬ÈÏÎª UTF-8¡£ 
¡¡¡¡×¢Òâ£ºXML ÉùÃ÷±ØÐëÔÚ XML ÎÄµµµÄµÚÒ»ÐÐ£¬Òò´ËÏÂÃæµÄ XML ÎÄ¼þ£º
¡¡¡¡²úÉúÏÂÃæµÄ·ÖÎö´íÎó£º
¡¡¡¡ÎÞÐ§µÄ xml ÉùÃ÷¡£
¡¡¡¡ÐÐ 0000002:&nbsp;&nbsp;&nbsp;&nbsp; 
¡¡¡¡Î»ÖÃ&nbsp; 0000007: ------^
¡¡¡¡×¢Òâ£ºXML ÉùÃ÷ÊÇ¿ÉÑ¡µÄ¡£Èç¹ûÐèÒªÔÚ¶¥²¿Ö¸¶¨×¢ÊÍ»òÕß´¦ÀíÖ¸Áî£¬ÄÇÃ´Çë²»Òª·ÅÈë XML ÉùÃ÷¡£µ«ÊÇ£¬Ä¬ÈÏµÄ±àÂë½«Îª UTF-8¡£
¡¡¡¡ÈçºÎÒÔ¿É¶Á¸ñÊ½´òÓ¡ÎÒµÄ XML ÎÄµµ£¿ 
¡¡¡¡ÔÚÓÃ DOM ´ÓÁã¿ªÊ¼¹¹ÔìÎÄµµÒÔ²úÉú XML ÎÄ¼þÊ±£¬ÈÎºÎÄÚÈÝ¶¼ÔÚÒ»ÐÐÉÏ£¬Ïà»¥Ö®¼äÃ»ÓÐ¿Õ¸ñ¡£ÕâÊÇÄ¬ÈÏµÄÐÐÎª¡£
¡¡¡¡¹¹ÔìÔÚ Internet Explorer 5 ÖÐµÄÄ¬ÈÏ XSL ÑùÊ½±í£¬ÒÔ¿É¶Á¸ñÊ½ÏÔÊ¾ºÍ´òÓ¡ XML ÎÄµµ¡£ÀýÈç£¬Èç¹ûÒÑ¾­°²×°ÁË IE5£¬Çë³¢ÊÔ²é¿´ nospace.xml ÎÄ¼þ¡£ä¯ÀÀÆ÷ÖÐÓ¦¸ÃÏÔÊ¾ÏÂÃæµÄÊ÷£º
¡¡¡¡- 
¡¡¡¡- 
¡¡¡¡XYZ 
¡¡¡¡12.56 
¡¡¡¡ÔÚ XML ÖÐÃ»ÓÐ²åÈë¿Õ°××Ö·û¡£
¡¡¡¡´òÓ¡¿É¶Á XML ÊÇ·Ç³£ÓÐÈ¤µÄ£¬ÌØ±ðÊÇÓÐ¶¨Òå²»Í¬ÀàÐÍÄÚÈÝÄ£ÐÍµÄ DTD Ê±¡£ÀýÈç£¬ÔÚ»ìºÏÄÚÈÝÄ£ÐÍ (#PCDATA) ÏÂ²»ÄÜ²åÈë¿Õ¸ñ£¬ÒòÎªËü¿ÉÄÜ¸Ä±äÄÚÈÝµÄº¬Òå¡£±ÈÈçÇë¿¼ÂÇÏÂÃæµÄ XML£º
¡¡¡¡Elephant
¡¡¡¡Õâ×îºÃ²»Êä³öÎª£º
¡¡¡¡E
¡¡¡¡lephant
¡¡¡¡ÒòÎªµ¥´Ê±ß½ç²»ÔÙÕýÈ·¡£
¡¡¡¡ËùÓÐÕâÐ©¶¼Ê¹×Ô¶¯»¯´òÓ¡³ÉÎªÎÊÌâ¡£Èç¹û²»ÐèÒª´òÓ¡¿É¶Á XML£¬ÄÇÃ´¿ÉÒÔÊ¹ÓÃ DOM ÔÚÊÊµ±µÄÎ»ÖÃ²åÈë¿Õ°××Ö·û×÷ÎªÎÄ±¾½Úµã¡£
¡¡¡¡ÈçºÎÔÚ DTD ÖÐÊ¹ÓÃÃû³Æ¿Õ¼ä£¿ ÒªÔÚ DTD ÖÐÊ¹ÓÃÃû³Æ¿Õ¼ä£¬ÇëÔÚÊ¹ÓÃËüµÄÔªËØµÄ ATTLIST ÉùÃ÷ÖÐÉùÃ÷Ëü£¬ÈçÏÂËùÊ¾£º
¡¡¡¡Ãû³Æ¿Õ¼äÀàÐÍ±ØÐëÎª #FIXED¡£ÊôÐÔµÄÃû³Æ¿Õ¼äÒ²ÊÇÕâÑù£º
¡¡¡¡Ãû³Æ¿Õ¼äºÍ XML ¼Ü¹¹ 
¡¡¡¡DTD ºÍ XML ¼Ü¹¹²»ÄÜ»ìºÏ¡£ÀýÈç£¬ÏÂÃæµÄ
&nbsp;¡¡¡¡xmlns:x CDATA #FIXED "x-schema:myschema.xml" 
¡¡¡¡½«²»µ¼ÖÂÊ¹ÓÃÔÚ myschema.xml ÖÐ¶¨ÒåµÄ¼Ü¹¹¶¨Òå¡£¶Ô DTD ºÍ XML ¼Ü¹¹µÄÊ¹ÓÃÊÇ»¥³âµÄ¡£ 
¡¡¡¡ÈçºÎÔÚ Visual Basic ÖÐÊ¹ÓÃ XMLDSO£¿ 
¡¡¡¡Ê¹ÓÃÏÂÃæµÄ XML ×÷ÎªÀý×Ó£º
&nbsp;¡¡¡¡Mark Hanson 
¡¡¡¡206 765 4583 
¡¡¡¡
¡¡¡¡Jane Smith 
¡¡¡¡425 808 1111&nbsp; 
¡¡¡¡¿ÉÒÔ°´ÈçÏÂ·½Ê½°ó¶¨µ½ ADO ¼ÇÂ¼¼¯£º 
¡¡¡¡´´½¨ÐÂµÄ VB 6.0 ÏîÄ¿¡£
¡¡¡¡Ìí¼Ó¶Ô Microsoft ActiveX Data Objects 2.1 »ò¸ü¸ß°æ±¾¡¢Microsoft Data Adapter Library ºÍ Microsoft XML 2.0 °æµÄÒýÓÃ¡£ 
¡¡¡¡ÓÃÏÂÃæµÄ´úÂë½« XML Êý¾Ý¼ÓÔØµ½ XML DSO ¿Ø¼þÖÐ£º
&nbsp;¡¡¡¡Dim dso As New XMLDSOControl
¡¡¡¡Dim doc As IXMLDOMDocument
¡¡¡¡Set doc = dso.XMLDocument
¡¡¡¡doc.Load ("d:/test.xml") 
¡¡¡¡ÓÃÏÂÃæµÄ´úÂë½« DSO Ó³Éäµ½Ê¹ÓÃ DataAdapter µÄÐÂ¼ÇÂ¼¼¯¶ÔÏóÖÐ£º
&nbsp;¡¡¡¡Dim da As New DataAdapter
¡¡¡¡Set da.Object = dso
¡¡¡¡Dim rs As New ADODB.Recordset
¡¡¡¡Set rs.DataSource = da 
¡¡¡¡·ÃÎÊÊý¾Ý£º
&nbsp;¡¡¡¡MsgBox rs.Fields("name").Value 
¡¡¡¡½á¹ûÏÔÊ¾×Ö·û´®¡°Mark Hanson¡± 
¡¡¡¡ÈçºÎÔÚ Java ÖÐÊ¹ÓÃ XML DOM£¿ 
¡¡¡¡±ØÐëÒÑ¾­°²×° MSXML.DLL µÄ IE5 °æ±¾¡£ÔÚ Visual J++ 6.0 ÖÐ£¬´ÓÏîÄ¿²Ëµ¥Ñ¡ÔñÌí¼Ó COM °ü×°³ÌÐò£¬È»ºó´Ó COM ¶ÔÏóÁÐ±íÖÐÑ¡Ôñ¡°Microsoft XML 1.0¡±¡£¸Ã²Ù×÷½«°ÑËùÐèµÄ Java °ü×°³ÌÐò¹¹Ôìµ½³ÆÎª¡°msxml¡±µÄÐÂÈí¼þ°üÖÐ¡£ÕâÐ©Ô¤ÏÈ¹¹ÔìµÄ Java °ü×°³ÌÐòÒ²¿ÉÒÔÏÂÔØ¡£Àà¿ÉÒÔ°´ÈçÏÂ·½·¨Ê¹ÓÃ£º
&nbsp;¡¡¡¡import com.ms.com.*;
¡¡¡¡import msxml.*;
¡¡¡¡public class Class1
¡¡¡¡{
¡¡¡¡public static void main (String[] args)
¡¡¡¡{
¡¡¡¡DOMDocument doc = new DOMDocument();
¡¡¡¡doc.load(new Variant("file://d:/samples/ot.xml"));
¡¡¡¡System.out.println("Loaded " + doc.getDocumentElement().getNodeName());
¡¡¡¡}
¡¡¡¡} 
&nbsp;
¡¡¡¡´úÂëÊ¾Àý½«´Ó sun religion Ê¾ÀýÖÐ¼ÓÔØ 3.8MB ²âÊÔÎÄ¼þ¡°ot.xml¡±¡£Variant ÀàÓÃÓÚ°ü×° Win32 VARIANT »ù±¾ÀàÐÍ¡£ 
¡¡¡¡ÒòÎªÔÚÃ¿´Î¼ìË÷½ÚµãÊ±Êµ¼ÊÉÏ¶¼»ñµÃÁËÐÂµÄ°ü×°³ÌÐò£¬Òò´Ë²»ÄÜÔÚ½ÚµãÉÏÊ¹ÓÃÖ¸Õë±È½Ï¡£Òò´Ë£¬²»ÒªÊ¹ÓÃÏÂÃæµÄ´úÂë£¬
¡¡¡¡IXMLDOMNode root1 = doc.getDocumentElement();
¡¡¡¡IXMLDOMNode root2 = doc.getDocumentElement();
¡¡¡¡if (root1 == root2)... 
¡¡¡¡¶øÒªÊ¹ÓÃÏÂÃæµÄ´úÂë£º
¡¡¡¡if (ComLib.isEqualUnknown(root1, root2)) .... 
¡¡¡¡.class °ü×°³ÌÐòµÄ×Ü´óÐ¡´óÔ¼Îª 160KB¡£µ«ÊÇ£¬ÎªÁËÓë W3C ¹æ·¶ÍêÈ«·ûºÏ£¬Ó¦¸ÃÖ»Ê¹ÓÃ IXMLDOM* °ü×°³ÌÐò¡£ÏÂÃæµÄÀàÊÇ¾ÉµÄ IE 4.0 XML ½Ó¿Ú£¬¿ÉÒÔ´Ó msxml ÎÄ¼þ¼ÐÖÐÉ¾³ýËüÃÇ£º
¡¡¡¡IXMLAttribute*, 
¡¡¡¡IXMLDocument*, XMLDocument* 
¡¡¡¡IXMLElement*, 
¡¡¡¡IXMLError*, 
¡¡¡¡IXMLElementCollection*, 
¡¡¡¡tagXMLEMEM_TYPE* 
¡¡¡¡_xml_error*&nbsp; 
&nbsp;
¡¡¡¡ÕâÊ¹´óÐ¡¼õÉÙÎª 147KB¡£Í¬Ê±»¹¿ÉÒÔÉ¾³ýÏÂÃæµÄÏîÄ¿£º
&nbsp;¡¡¡¡DOMFreeThreadedDocument
¡¡¡¡ÔÚ Java Ó¦ÓÃ³ÌÐòÖÐ´Ó¶à¸öÏß³Ì·ÃÎÊ XML ÎÄµµ¡£ 
¡¡¡¡XMLHttpRequest
¡¡¡¡ÓÃ XML DAV HTTP À©Õ¹Óë·þÎñÆ÷Í¨ÐÅ¡£ 
¡¡¡¡IXTLRuntime
¡¡¡¡¶¨Òå XSL ÑùÊ½±í½Å±¾¶ÔÏó¡£ 
¡¡¡¡XMLDSOControl
¡¡¡¡°ó¶¨µ½ HTML Ò³ÃæÖÐµÄ XML Êý¾Ý¡£ 
¡¡¡¡XMLDOMDocumentEvents
¡¡¡¡ÔÚ·ÖÎö¹ý³ÌÖÐ·µ»Ø»Øµ÷¡£ 
¡¡¡¡Õâ¿ÉÒÔ½«´óÐ¡¼õÉÙµ½ 116KB¡£ÒªÊ¹Ëü¸üÐ¡£¬Çë¿¼ÂÇ DOM ±¾ÉíÓÐÁ½²ãµÄÊÂÊµ£ººËÐÄ²ã°üÀ¨£º
¡¡¡¡DOMDocument, IXMLDOMDocument 
¡¡¡¡IXMLDOMNode* 
¡¡¡¡IXMLDOMNodeList* 
¡¡¡¡IXMLDOMNamedNodeMap* 
¡¡¡¡IXMLDOMDocumentFragment* 
¡¡¡¡IXMLDOMImplementation 
¡¡¡¡IXMLDOMParseError&nbsp; 
¡¡¡¡ºÍÓÃ»§¿ÉÄÜÐèÒª±£ÁôµÄ DTD ÐÅÏ¢£º
&nbsp;¡¡¡¡IXMLDOMDocumentType 
¡¡¡¡IXMLDOMEntity 
¡¡¡¡IXMLDOMNotation&nbsp; 
¡¡¡¡XML ÎÄµµÖÐµÄËùÓÐ½ÚµãÀàÐÍ¶¼ÊÇ IXMLDOMNode£¬ËüÌá¹©È«²¿¹¦ÄÜ£¬µ«ÊÇ´æÔÚÃ¿ÖÖ½ÚµãÀàÐÍµÄ¸ü¸ß¼¶±ðµÄ°ü×°³ÌÐò¡£Òò´Ë£¬Èç¹ûÐÞ¸Ä DOMDocument °ü×°³ÌÐò²¢½«ÕâÐ©ÌØ¶¨ÀàÐÍ¸ü¸ÄÎªÊ¹ÓÃ IXMLDOMNode£¬ÄÇÃ´ËùÓÐÏÂÃæµÄ½Ó¿Ú¶¼¿ÉÒÔÉ¾³ý£º
&nbsp;¡¡¡¡IXMLDOMAttribute 
¡¡¡¡IXMLDOMCDATASection 
¡¡¡¡IXMLDOMCharacterData 
¡¡¡¡IXMLDOMComment 
¡¡¡¡IXMLDOMElement 
¡¡¡¡IXMLDOMProcessingInstruction 
¡¡¡¡IXMLDOMEntityReference 
¡¡¡¡IXMLDOMText 
¡¡¡¡É¾³ýÕâÐ©½«Ê¹´óÐ¡¼õÉÙµ½ 61KB¡£µ«ÊÇ£¬¶Ô IXMLDOMElement À´Ëµ£¬getAttribute ºÍ setAttribute ·½·¨¶¼ÊÇÓÐÓÃµÄ¡£·ñÔòÐèÒªÊ¹ÓÃ£º
¡¡¡¡IXMLDOMNode.getAttributes().setNamedItem(...)

]]></description>
		</item>
		<item>
			<title>Ã»ÓÐSQl2000»òÕßOracle 8iÔõÃ´Éú³ÉXML£¿</title>
			<link>http://www.kingmx.com/article.php?id=12217</link>
			<pubDate>2006-10-21</pubDate>
			<description><![CDATA[
&nbsp;&nbsp;&nbsp; µ±È»Äã¿ÉÒÔ×Ô¼º°ÑRecordset±àÂëÎªXML£¬²»¹ýÍ¦Âé·³µÄ£¬Ð§ÂÊÒ²²»¸ß¡£ÕâÀï½éÉÜÒ»ÖÖÐÂµÄ·½·¨£º
VB Code:
Dim objConn As New ADODB.Connection
Dim objRS As New ADODB.Recordset
Dim objStream As New ADODB.Stream
objConn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=(local)"
objRS.Open "select * from [Employee]", objConn, adOpenForwardOnly, adLockReadOnly, adCmdText
objRS.Save objStream, adPersistXML
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
objStream.Position = 0
Debug.Print objStream.ReadText
objStream.Close
Set objStream = Nothing
-------------------
ASP Code:
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset") 
objConn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=(local)"
objRS.Open "select * from [Employee]", objConn, adOpenForwardOnly, adLockReadOnly, adCmdText
objRS.Save Response, adPersistXML
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
]]></description>
		</item>
	</channel>
 </rss>
