3.2 XMLÎĵµÍ¨¹ýHTTP´ÓÓ¦Ó÷þÎñÆ÷´«Ë͵½¿Í»§»ú²ã£¬²¢ÇÒÖ§³ÖXML¸üй¦ÄÜ£¬Ê¹µÃÖмä²ã»òÊý¾Ý·þÎñÆ÷ÉÏÊý¾ÝµÄ±ä»¯¿ÉÒÔ´«µÝ¸ø¿Í»§¡£
3.3 XMLÊý¾ÝµÄÔÚ±íʾ²ã£¨¿Í»§»ú²ã£©µÄ±í´ï
·¢Ë͵½¿Í»§¶ËµÄÊý¾Ý£¨Í¼Êé×ÊÁϹÜÀíÊý¾Ý£©£¬¿ÉÒÔ¸ù¾ÝÓû§¶ÔÏó¼°Æä²»Í¬µÄÓ¦ÓÃÒªÇóÓв»Í¬µÄÏÔʾÐÎʽ¡£ÈçÏÂËùʾµÄXSLÑùʽ±í£¬¾ÍÊÇÒ»¸öÏÔʾʾÀý£¬½«Éú³ÉÒ»¸öHTMLÎĵµ£¬°üÀ¨Ò»¸ö±í¸ñ£¬ÆäÖеÄÒ»ÐоÍΪһ¸ö"ÊéÄ¿"ÔªËØ¡£
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>ͼÊé×ÊÁϹÜÀí</TITLE>
</HEAD>
<BODY>
<TABLE>
<xsl:for-each select="ͼÊé×ÊÁϹÜÀí">
<TR>
<xsl:for-each select="ÊéÄ¿">
<TD>
<xsl:process-children/>
</TD>
</xsl:for-each>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
3.4 ±à¼¡¢´¦ÀíÊý¾ÝµÄʵÏÖ
Ö»ÒªÀí½âÁËÖмä²ãXMLÎĵµµÄÊý¾Ý£¬¾ÍÄÜ´ÓÈκεط½´¦ÀíºÍ±à¼Êý¾Ý£¨Í¼Êé×ÊÁϹÜÀíÊý¾Ý£©¡£
ÈçÏÂÀýËùʾ£¬LoadDocument³ÌÐò´ò¿ªXMLÎĵµ£¬È»ºóµ÷ÓÃÁíÒ»¸ö³ÌÐòDisplayNode£¬ËüÓÃÀ´ÏÔʾÎĵµµÄ½á¹¹¡£LoadDocument´«µÝ¸øÕýÔÚ´ò¿ªµÄXMLÎĵµµÄChildNodesÊôÐÔÒ»¸öÒýÓÃ×÷ΪËüµÄ²ÎÊý£¬Í¬Ê±´«µÝÒ»¸öÕûÊýÓÃÀ´±êʾ¿ªÊ¼ÏÔʾµÄ²ã´Î¼¶±ð¡£´úÂëÀûÓòÎÊýÀ´¸ñʽ»¯ÔÚVisual BasicÎĵµ½á¹¹ÏÔʾ´°¿ÚÖеÄÎı¾¡£
DisplayNodeÊôÐԵĺ¯Êý»á±éÀúÎĵµÑ°ÕÒÐèÒªµÄNODE_TEXT½ÚµãÀàÐÍ´®£¬Ò»µ©´úÂëÕÒµ½Ò»¸öNODE_TEXTµÄ½Úµã£¬Ëü»áÀûÓÃNodeValueÊôÐÔÀ´»ñµÃÏàÓ¦µÄÎı¾´®¡£ÁíÍ⣬µ±Ç°½ÚµãµÄParentNodeÊôÐÔÖ¸ÏòÒ»¸öÔªËØÀàÐÍµÄ½Úµã¡£ÔªËØ½ÚµãʵÏÖÁËÒ»¸öNodeNameÊôÐÔ£¬
Public Sub LoadDocument()
Dim xDoc As MSXML.DOMDocument
Set xDoc = New MSXML.DOMDocument
xDoc.validateOnParse = False
If xDoc.Load("C:My Documentssample.xml") Then
DisplayNode xDoc.childNodes, 0
Else
' The document failed to load.
End If
End Sub
Public Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _
ByVal Indent As Integer)
Dim xNode As MSXML.IXMLDOMNode
Indent = Indent + 2
For Each xNode In Nodes
If xNode.nodeType = NODE_TEXT Then
Debug.Print Space$(Indent) & xNode.parentNode.nodeName & _
":" & xNode.nodeValue
End If
If xNode.hasChildNodes Then
DisplayNode xNode.childNodes, Indent
End If
Next xNode
End Sub
4.×ܽá
ÔÚ»ùÓÚXMLµÄÈý²ãC/SÄ£ÐÍÖУ¬Öмä²ãÒ»´ÎÐÔ´ÓÔ¶³ÌÊý¾Ý¿âÖлñÈ¡Âú×ã¿Í»§ÐèÇóµÄÐÅÏ¢£¬Éú³ÉÏàÓ¦µÄXMLÎĵµ£¬ÒÔºóÖмä²ã¾Í²»ÐèÒªÔÙÓëÔ¶³ÌÊý¾Ý¿â½øÐн»»¥ÁË£¬¼´ÓëÔ¶³ÌÊý¾Ý¿âµÄÁ¬½ÓÒ²¾ÍÖÕÖ¹ÁË¡£Ò»µ©Öмä¼þÈí¼þ°ÑÂú×ã¿Í»§ÐèÒªµÄÐÅÏ¢×é×°ÆðÀ´ÒԺ󣬾ͿÉÒÔÒÔXML ÐÎʽ·¢Ë͸ø¿Í»§ÁË£¬ÕâÑù¿Í»§ÓëÖмä²ãÒ²¾ÍÎÞÐè½øÒ»²½½»»¥¡£
ͬʱ£¬·á¸»µÄXMLÊý¾Ý·¢Ë͸ø¿Í»§¶Ëºó£¬¿Í»§Ó¦Óúͽű¾ÓïÑԾͿÉÒÔÖ±½ÓʹÓÃÕâЩÊý¾Ý£¬Õâʱ¿Í»§¶ËÓëÖмä²ã·þÎñÆ÷Ö®¼äÁ¬½Ó¾Í¿ÉÒÔÖÐÖ¹ÁË¡£
Òò´Ë£¬ÔÚC/SÄ£ÐÍÖз¢Ë͸øÖмä²ãµÄÐÅÏ¢ÊǼò½àµÄ¡¢¸öÈË»¯µÄºÍ¾«È·µÄ¡£Ó¦Ó÷þÎñÆ÷¸ºÔðÔÚÕýÈ·µÄʱºò×é×°²¢½»¸¶ÕýÈ·µÄÐÅÏ¢£¬Õâ½«ÍøÂçÉϵÄÁ÷Á¿¼õС²¢ÌṩÁ˸߶ȵĽ»»¥ÄÜÁ¦ºÍÓû§µÄÂúÒâ³Ì¶È¡£¶øÇÒ£¬ÓÉÓÚÖмä²ã¿ÉÒÔÌṩ¶¯Ì¬µÄ¡¢Ò×·ÃÎʵÄÄÚÈÝ£¬ÕâЩÄÚÈÝ¿ÉÒÔ±»¿Í»§·½²Ù×÷¡£¶øÇÒ£¬ÎÞÐèË¢ÐÂÕû¸öÓû§½çÃæ¾Í¿ÉÒÔ¸üÐÂÒ³ÃæµÄÄÚÈÝ£¬ÕâÑù¾Í¼õÉÙÁË´Ó·þÎñÆ÷·½»ñÈ¡¿Í»§·½ÒÑÓеÄÐÅÏ¢ËùÐèµÄ½»»¥Ê±¼ä¡£Óû§¿ÉÒÔ·½±ãµÄÔ¶³Ì¹ÜÀíÊý¾Ý£¬Ê¹µÃÍøÂç³ÉΪһÖÖ¾ßÓиü´óµÄ½»»¥ÐԺͻ¥²Ù×÷ÐÔµÄýÌå¡£
Æä´Î£¬ÔËÓûùÓÚXMLµÄÈý²ãC/SÄ£ÐÍ£¬XML½á¹¹»¯µÄÊý¾Ý¿ÉÒÔ´ÓÉÌÒµ¹æ·¶ºÍ±íÏÖÐÎʽÖзÖÀë³öÀ´£¬¶øÇÒ¿ÉÒÔ¸üÏêϸµØ¶¨Òåij¸öÊý¾Ý¶ÔÏóµÄÊý¾Ý½á¹¹£¬½â¾öÁËÐÅÏ¢±ê×¼»¯µÄÎÊÌâ¡£
ͨ¹ýÔÚÈý²ãC/SÄ£ÐÍʹÓÃXML£¬Ê¹µÃÆóÒµÖ®¼ä¿ÉÒÔͨ¹ýÍøÂ磬ÓëºÏ×÷»ï°é¼ä£¬½øÐÐ¿çÆ½Ì¨£¬¿ç²Ù×÷ϵͳµÄÐÅÏ¢½»»»¡£
²Î¿¼ÎÄÏ×
[1] Hiroshi Maruyama ,Kent Tamura , Naohiko Uramoto .XML and Java Developing Web Applications[M]. Addison-Wesley, August 1999.
[2] Ed Tittel, Norbert Mikula , Ramesh Chandak . XML For DUMMIES [M]. IDG BOOKS Worldwide ,
Inc ,1999.
[3] ËÎÏþÁº,Áõ¶«Éú,ÐíÂúÎä. Öмä¼þ¼°ÆäÔÚÈý²ã¿Í»§»ú/·þÎñÆ÷Ä£ÐÍÖеÄÓ¦ÓÃ[N] . ¼ÆËã»úÓ¦ÓÃ990713