ÀûÓÃXMLʵÏÖͨÓÃWEB±¨±í´òÓ¡

 

2003-02-15¡¤ ¡¤Â¬Ñ塤¡¤Microsoft

1 2 3 4 5  ÏÂÒ»Ò³

¡¡¡¡¿ª·¢B/S½á¹¹µÄÓ¦ÓóÌÐò×îÍ·ÌÛµÄÎÊÌâ¿ÉÄܾÍÊDZ¨±í´òÓ¡ÁË£¬ÓÉÓÚÖ»ÄܲÉÓÃä¯ÀÀÆ÷À´×÷ΪÓû§½çÃæ½øÐн»»¥£¬ËùÒÔ²»Äܾ«È·¿ØÖƿͻ§¶ËµÄ´òÓ¡»ú¡£¶øºÜ¶àB/S½á¹¹µÄÓ¦ÓóÌÐò³£³£ÐèÒªÍê³É·Ç³£¸´Ôӵı¨±í´òÓ¡ÈÎÎñ¡£¶ø¿¿IE×Ô´øµÄÒ³Ãæ´òÓ¡¹¦ÄÜÒ»°ã²»ÄÜÂú×ãÐèÒª¡£

¡¡¡¡²ÉÓÃCrystal ReportÊÇÒ»ÖÖ´óÐͱ¨±íϵͳ³£ÓúÍÍÆ¼öµÄ½â¾ö·½°¸£¬µ«ÊÇÈç¹ûÎÒÃÇÖ»ÐèÒª½øÐÐһЩС¹æÄ£µÄ±¨±í´òÓ¡µÄ»°£¬Crystal ReportÔòÏÔµÃÅÓ´óÂé·³ÁËÒ»µã£¬¿É¶¨ÖÆÐÔÒ²²»Ì«ºÃ£¬ËüµÄ´òӡʵ¼ÊÉÏÒ²ÊÇÀûÓÃÁËIEµÄ´òÓ¡¹¦ÄÜ£¬Ò²²»Äܾ«È·¿ØÖÆ´òӡЧ¹û£¬¶øÇÒÐèÒªÄú¶ÔËü½øÐÐ×¢²á¡£

¡¡¡¡ËùÒÔÎÒÃÇÕâÀïÌÖÂÛµÄÊÇÁíÍâÒ»ÖÖ°ì·¨£¬¼òµ¥À´Ëµ£¬Èç¹ûÄúÓÐÏÂÁÐÐèÇóÖеÄÈκÎÒ»Ìõ£¬ÄÇô¾Í¿ÉÒÔ³¢ÊÔ²ÉÓñ¾·½°¸¡£

¡¡¡¡·½°¸ÊÊÓÃÐÔ

¡¡¡¡1. Ô¶³ÌÊý¾Ý´òÓ¡¡£ÐèÒª´òÓ¡µÄÊý¾Ý²¢²»ÔÚ±¾µØ£¬±ØÐë½øÐÐÔ¶³Ì¶ÁÈ¡¡£
¡¡
¡¡¡¡2. ÐèÒª¾«È·¿ØÖÆ´òӡЧ¹û£¬°üÀ¨Ò³Ãæ¸ñʽ£¬·ÖÒ³£¬¸½¼ÓÌõÄ¿£¬±í¸ñµÈ¡£

¡¡¡¡3. ³öÓÚ°²È«ÐÔ¿¼ÂÇ£¬²»ÄÜÖ±½ÓÁ¬½Óµ½Êý¾Ý¿â¡£

¡¡¡¡·½°¸Ô­Àí

¡¡¡¡ÆäʵԭÀíºÜ¼òµ¥£¬Í¨¹ýXMLÇ¿´óµÄ×Ô¶¨Ò幦ÄÜ£¬ÎÒÃDZãÄÜ·½±ãµÄ×Ô¶¨Òå³öÎÒÃÇËùÓÐÐèÒªµÄ¸ñʽ¿ØÖƱêÇ©£¬ÔÚ·þÎñÆ÷¶Ë½øÐж¯Ì¬±àÂëºóͨ¹ýWEB·þÎñÆ÷´«µ½¿Í»§¶Ë£¬È»ºóÔÚ¿Í»§¶Ë½øÐиñʽ½âÎö£¬¸ù¾Ý·þÎñÆ÷¶Ë¶¨ÒåµÄ´òÓ¡¸ñʽ´Ó¿Í»§¶ËÖ±½Ó¿ØÖÆ´òÓ¡»ú´òÓ¡³öÎÒÃÇÐèÒªµÄ±¨±í¡£

¡¡¡¡¼¼ÊõÑ¡Ôñ

¡¡¡¡ÓÉÓÚ±¨±í´òÓ¡±È½Ï¸´ÔÓ£¬ÎªÁËÄܹ»¾«È·¿ØÖÆ´òÓ¡¸ñʽ£¬²»ÄܲÉÓÃWEBä¯ÀÀÆ÷Ò³Ãæ´òÓ¡µÄ·½Ê½½øÐб¨±í´òÓ¡¹¤×÷£¬Ö»ÄܲÉÈ¡×Ô±à³Ì¿ØÖƿͻ§¶ËµÄ´òÓ¡¹¤×÷¡£ÓÉÓÚ.NET frameworkµÄwinform¿ÉÒÔÖ±½ÓǶÈëµ½ÍøÒ³ÖУ¬ÎÒÃÇÔÚÕâÀïÑ¡ÓÃÁ˸ü¼Êõ£¬µ«ÊÇÇë×¢Ò⣬ÎÒÕâô×ö²¢²»´ú±í.NET winformÊÇΨһµÄÑ¡Ôñ£¬ÆäʵÄú¿ÉÒÔ²ÉÓÃÈκοͻ§¶Ë´úÌæËü£¬ÀýÈçJava Applet»òÕßActiveX£¬ÉõÖÁÊÇÒ»¸öÆÕͨµÄÓ¦ÓóÌÐò¶¼ÄÜÐС£

¡¡¡¡²»ÔÊÐíÖ±½ÓÁ¬½Óµ½Êý¾Ý¿â£¬Òò´ËÖ»ÄܲÉÓÃXMLÎļþ½øÐÐÖмäÊý¾Ý½»»»¸ñʽ£¬Í¨¹ýÆÕͨWEB·þÎñÆ÷µÄĬÈÏ80¶Ë¿Ú½øÐÐÊý¾Ý´«Êä¡£ÊÂʵÉÏ£¬ÎÒ¼òÖ±ÕÒ²»µ½ÆäËü¸üÀíÏëµÄ·½°¸ÁË£¬µ±È»£¬web serviceÒ²ÐíÄÜËãÊÇÒ»ÖÖ£¬µ«ÊÇËü²ÉÓõÄÊÇSOAP´«ÊäÊý¾Ý£¬´ÓÔ­ÀíÉÏ¿´£¬Ó¦¸ÃºÍÎÒÃDzÉÓõÄXMLÊôÓÚͬÖÖÀ༼Êõ¡£

¡¡¡¡ÔÙ²¹³ä˵Ã÷Ò»ÏÂÎÒΪʲôҪ²ÉÓÃ.NET±àдµÄÊÜ¿Ø×é¼þ£¬ÓŵãÔÚÓÚ£º

¡¡¡¡1. Ëü²»ÐèÒª½øÐпͻ§¶Ë×¢²á¡£Ïà¶ÔÓÚActiveXµÄÒ»¸ö´óÓŵ㡣

¡¡¡¡2. ±ÈActiveX°²È«ÐԸߡ£ÔÚ.NET Common Language RuntimeµÄ¿ØÖÆÖ®ÏÂÔËÐÐ

¡¡¡¡3. ±àд·½±ã¡£ÎÒϲ»¶C#ºÍVisual Studio .NET¡£

¡¡¡¡4. ÓкÜÇ¿´óµÄ´òÓ¡¿ØÖƹ¦ÄÜ¡£ÀûÓÃ.NET frameworkÀà¿â¡£

¡¡¡¡5. Ö±½ÓÖ§³ÖXML¼¼Êõ¡£

¡¡¡¡6. ºÍIE¼æÈÝÐԸߡ£Í¬ÎªMicrosoft¹«Ë¾²úÆ·¡£

¡¡¡¡ÁíÍ⣬ÐèҪעÒâÒ»µã¾ÍÊÇ£¬ÔÚ.NET framework sp1ºÍsp2ÖÐĬÈϵݲȫ¼¶±ðÊDz»ÄÜÖ±½ÓÔËÐÐÊÜ¿Ø×é¼þµÄ£¬µ«ÊÇÔÚ.NET framework 1.1 betaÖÐÓÖ¸ÄÁË»ØÀ´£¬¿ÉÒÔÖ±½ÓÔËÐÐÁË¡£

¡¡¡¡·þÎñÆ÷¶ËÄúÔò¿ÉÒÔ²ÉÓÃÏÖÓеķþÎñÆ÷ϵͳºÍÊý¾Ý¿â£¬²»ÐèÒªÐÂÌí¼ÓÈκÎÐÂÓ²¼þÉ豸ºÍеÄ.NET·þÎñÆ÷¹ÜÀíÈËÔ±£¬ËûÃÇÍùÍùÊÇЩҪÇóÄøßнµÄ¼Ò»ï¡£ £º£©

¡¡¡¡·þÎñÆ÷µÄ¹¤×÷Á÷³ÌΪ£º

¡¡¡¡1. ½ÓÊܿͻ§¶ËµÄ±ê×¼XMLÄ£°æ²éѯ¡£

¡¡¡¡2. ÐèÒª¸ù¾Ý²éѯҪÇó½«Êý¾Ý¿âÊý¾Ý¸ñʽת»»³É±ê×¼µÄXMLÊý¾Ý¸ñʽ¡£

¡¡¡¡3. ½«XMLÊý¾Ýͨ¹ý80¶Ë¿Ú·¢ËͳöÈ¥¡£

¡¡¡¡¿ÉÐÐÐÔ·ÖÎö

¡¡¡¡ÓÉÓÚÏÖÔڵĴ󲿷ÖÊý¾Ý¿â¶¼Ö§³ÖXML¸ñʽµÄÊý¾Ý²éѯºÍת»»£¬ÈçSQL Server 2000£¬Oracle 9i£¬IBM DB2µÈ´óÐ͹ØÏµÐÍÊý¾Ý¿â¡£Ö»ÐèҪͨ¹ý¼òµ¥µÄÉèÖþÍÄÜÖ±½Ó½øÐÐXMLÊý¾Ýת»»¹¤×÷¡£Èç¹ûÊý¾Ý¿â²»ÄÜÖ§³ÖÖ±½ÓXMLÊý¾Ýת»»£¬Ò²¿ÉÒÔ¼®ÓÉһЩ·þÎñÆ÷¶Ë½Å±¾³ÌÐò½øÐнű¾×ª»»¹¤×÷£¬±ÈÈçJSP£¬ASP£¬PHPµÈµÈ¡£

¡¡¡¡¿Í»§¶ËÒ²²»ÐèÒªÈκÎÌØÊâµÄÉèÖù¤×÷£¬½öÐèÒª°²×°Ò»¸ö´óСΪ21MµÄ.NET framework·Ö·¢°ü£¬È»ºóÖ±½Ó´ò¿ªÍøÒ³¾Í¿ÉÒÔ½øÐй¤×÷¡£Ò²Ã»ÓвÙ×÷ϵͳÏÞÖÆ£¬´Ówindows 98µ½windows xp¶¼ÄܺܺõÄÖ§³Ö¡£

 

ÉìËõÐԺͰ²È«ÐÔ

¡¡¡¡ÉìËõÐÔ

¡¡¡¡ÓÉÓÚ²ÉÓõÄÊÇXML±ê×¼Êý¾Ý¸ñʽ×÷ΪÖмäÊý¾Ý½»»»£¬Òò´Ë±¾½â¾ö·½°¸¾ßÓзdz£ºÃÉìËõÐÔ£¬ÀýÈ磬¿Í»§¶ËµÄ.NET¿Ø¼þ¿ÉÒÔ²ÉÓÃJAVA APPLET¡¢ACTIVX»òÕßÊÇVB£¬VCµÈ±àдµÄ¿Í»§¶ËÓ¦ÓóÌÐòÖ±½ÓÌæ»»¡£·þÎñÆ÷Ò²¿ÉÒÔÈÎÒâÑ¡Ôñ²ÉÓÃIIS»òAPACHEµÈWEB·þÎñÆ÷¡£Êý¾Ý¿âÒ²¿ÉÒÔ²ÉÓÃÈÎÒâÒ»ÖÖÊý¾Ý¿â¡£°üÀ¨SQL Server£¬Oracle»òÕßÊÇAccessµÈ¡£ÕâµãÉÏÎÄÒѾ­Ì¸µ½¹ý£¬ÒòΪÎÄÕµij¤Ò»µã²¢²»»áʹË͸øÎÒµÄTÐô´óÒ»ºÅ£¬ÕâÀïÔÙÇ¿µ÷Ò»±éÖ»ÊÇΪÁ˼ÓÉî¶ÁÕß¶ÔXMLµÄ¿çƽ̨ÐÔµÄÈÏʶ¡£ £º£©

¡¡¡¡°²È«ÐÔ

¡¡¡¡ÓÉÓÚ²ÉÓõÄÊÇÆÕͨWEB·þÎñÆ÷´«ËÍÊý¾Ý£¬Òò´Ë¿ÉÒÔÖ±½Ó²ÉÓÃSSL°²È«Ì×½Ó×ÖµÈÒѾ­³ÉÊìµÄWEB¼ÓÃܼ¼Êõ¡£Í¬Ê±»¹¿ÉÒÔ¶ÔXML½øÐÐÊý¾ÝËã·¨¼ÓÃÜ£¬ÔÚ¿Í»§¶ËÔÙ½øÐнâÃÜ£¬±£Ö¤ÁË´«ÊäµÄ°²È«ÐÔ¡£

¡¡¡¡ÓÉÓÚ²ÉÓõÄÊÇ80¶Ë¿Ú£¬²»ÐèÒªÔÙÁíÍâÐÂÔö¼ÓרÓö˿ڣ¬¼õÉÙÁ˰²È«Â©¶´µÄ¿ÉÄÜÐÔ£¬Í¬Ê±»¹ÄÜ·½±ãµÄ´©¹ýË«·½µÄµÄÍøÂç·À»ðǽµÈ±£»¤É豸¡£

¡¡¡¡·½°¸Éè¼ÆÍ¼



¡¡¡¡¸ñʽ¶¨Òå

¡¡¡¡ÎªÁËÄÜ×Ô¼º¿ØÖÆ´òÓ¡µÄ¸ñʽ£¬ÎÒÃǶ¨ÒåÁËÏÂÁеĸñʽ±êÇ©£¬ÆäÖÐÔÚÃüÃûÉϲο¼ÁËHTMLµÄÃüÃû°ì·¨£¬ËùÒÔ»ù±¾ÉÏÊìϤHTMLµÄ¶¼ÄÜÒ»¿´¾ÍÄÜÃ÷°×±êÇ©µÄ¾ßÌ庬Òå¡£Èç¹ûÄú¾õµÃÕâЩ±êÇ©µÄ±í´ïÄÜÁ¦»¹²»¹»Ç¿£¬Äú»¹¿ÉÒÔ×Ô¼º¶¨ÒåһЩ¸ü¶à¸ü¾«È·µÄ¸ñʽ±êÇ©¡£

¡¡¡¡±êǩӦÓÃʾÀý£º

£¼root£¾
£¼pagesetting£¾
£¼Landscape£¾true£¼/Landscape£¾
£¼paperkind£¾A4£¼/paperkind£¾
£¼paperwidth£¾210£¼/paperwidth£¾
£¼paperheight£¾297£¼/paperheight£¾
£¼pageleft£¾0£¼/pageleft£¾
£¼pageright£¾0£¼/pageright£¾
£¼pagetop£¾0£¼/pagetop£¾
£¼pagebottom£¾0£¼/pagebottom£¾
£¼/pagesetting£¾
£¼reporttable£¾
£¼text x="450" y="40" fontname="ºÚÌå" fontsize="24" fontcolor="Black"
b="true" i="false" u="true"
£¾×îгɽ»ºÏͬÐÅÏ¢£¼/text£¾
£¼text x="70" y="100" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="true"
£¾ÖƱíʱ¼ä£º2002Äê0ÔÂ10ÈÕ£¼/text£¾
£¼text x="910" y="100" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="true"
£¾µ¥Î»£ºÔª£¼/text£¾
£¼table x="65" y="130" border ="1" bordercolor="Black" maxlines="28"£¾
£¼tablehead£¾
£¼tr height="25"£¾
£¼td width="90" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾ºÏͬºÅ£¼/td£¾
£¼td width="90" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾²úÆ·Ãû³Æ£¼/td£¾
£¼td width="50" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾³É½»Á¿£¼/td£¾
£¼td width="50" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾³É½»¼Û£¼/td£¾
£¼td width="50" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾³É½»½ð¶î£¼/td£¾
£¼td width="50" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾¹Òµ¥Á¿£¼/td£¾
£¼td width="50" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾Æðʼ¼Û£¼/td£¾
£¼td width="330" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾Âô·½£¼/td£¾
£¼td width="330" align="center" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾Âò·½£¼/td£¾
£¼/tr£¾
£¼/tablehead£¾
£¼tablebody£¾

£¼tr height="25"£¾
£¼td width="100" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾20021010015£¼/td£¾
£¼td width="100" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾CNR£¼/td£¾
£¼td width="70" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾93£¼/td£¾
£¼td width="70" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾6680£¼/td£¾
£¼td width="70" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾621240£¼/td£¾
£¼td width="70" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾93£¼/td£¾
£¼td width="70" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾6680£¼/td£¾
£¼td width="200" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾ºþ±±Ê¡¹úÓªÐÂÐÇÍÏÀ­»ú³§£¼/td£¾
£¼td width="200" align="left" fontname="ËÎÌå" fontsize="12" fontcolor="Black"
b="true" i="false" u="false" bgcolor="White"
£¾Öл¯¹ú¼ÊóÒ׹ɷÝÓÐÏÞ¹«Ë¾£¼/td£¾
£¼/tr£¾
¡­¡­¡­.
£¼/tablebody£¾
£¼tablefoot£¾
£¼/tablefoot£¾
£¼/table£¾
£¼/reporttable£¾
£¼/root£¾


¡¡¡¡×¢ÒâÊÂÏ

¡¡¡¡a) Èç¹û²ÉÓ÷þÎñÆ÷½Å±¾¶¯Ì¬Éú³ÉXMLÎĵµÊ±£¬·¢ËÍÄÚÈÝÀàÐÍÓ¦¸ÃÉèÖÃΪtext/xml£¨ÆÕͨhtmlÒ³ÃæÎªtext/html£©£¬×Ö·û±àÂëÓ¦¸ÃΪUTF-8£¬·ñÔò»á³öÏÖ±àÂë´íÎóÎÊÌâ¡£

¡¡¡¡b) Ó¦¸ÃÑϸñ°´ÕÕXML¹æ¶¨µÄ¸ñʽÀ´Éú³ÉÎļþ£¬·ñÔòXML½âÎöÆ÷½«²»»áÓèÒÔ½âÎö¡£

¡¡¡¡2. ¿Í»§¶Ë

¡¡¡¡¿ÉÒÔ²ÉÓÃÈÎÒâÓ¦ÓóÌÐòÀ´¶ÁÈ¡·þÎñÆ÷¶ËÉú³ÉµÄXMLÎļþ£¬Èç¹û²ÉÓÃVB¡¢DELPHIµÈ×ÀÃæÓ¦ÓÃÈí¼þ¿ª·¢¹¤¾ß£¬Ôò¿ÉÒÔʹÓÃMSXMLµÄCOM½âÎöÆ÷¡£ÍƼö²ÉÓÃ.NET£¬ÄÚ²¿ÒѾ­¼¯³ÉÁËXML½âÎöÆ÷£¬Ö±½Ó¾Í¿ÉÒÔͨ¹ýʹÓÃ.NETÀà¿âµ÷Ó᣼ȿÉÒÔ×ö³É×ÀÃæÓ¦ÓóÌÐòÐÎʽ£¬Í¨¹ýÔ¶³Ìµ÷Óã»Ò²¿ÉÒÔǶÈëµ½IEä¯ÀÀÆ÷ÖУ¬Ö±½ÓÔÚÍøÒ³ÖÐÔËÐС£

¡¡¡¡Ð§¹ûʾÀýͼ



´òÓ¡Ô¤ÀÀ



¡¡¡¡×¢ÒâÊÂÏ

¡¡¡¡1. Èç¹û²ÉÓÃ.NET£¬¿Í»§¶Ë±ØÐëÏȰ²×°.NET framework1.0ÔËÐл·¾³£¬ÏÂÔØµØÖ·Îª£ºhttp://download.microsoft.com/download/.NETframesdk/Redist/1.0/W98NT42KMeXP/EN-US/dotnetredist.exe

¡¡¡¡2. Èç¹û²ÉÓÃǶÈëµ½ÍøÒ³ÖеÄÐÎʽ£¬ÄÇô±¾³ÌÐòÐèÒª±àÒë³ÉÒ»¸ö¿Ø¼þÐÎʽ£¨Ò»¸öÀ©Õ¹ÃûΪdllµÄÎļþ£©£¬È»ºóÔÚÍøÒ³ÖвåÈëÒÔϱê¼Ç£º

£¼object id="print" classid="http:print.dll#Print.UserControl1" Width="728" Height="460"£¾£¼/object£¾

¡¡¡¡½«¿Ø¼þǶÈëµ½Ò»¸ö¾²Ì¬»ò¶¯Ì¬ÍøÒ³ÖС£È»ºó½«¸Ã¿Ø¼þÎļþ¿½±´µ½ºÍ¸ÃÍøÒ³ÏàͬµÄĿ¼ÖУ¨±ê¼ÇÖÐPrint.dllΪÉú³ÉµÄ¿Ø¼þÎļþÃû£¬Print.UserControl1Ϊ¸Ã¿Ø¼þµÄÃüÃû¿Õ¼äNAMESPACE£©¡£

.Net Web¿Ø¼þ·½°¸µÄʵÏÖºÍÀ©³ä

¡¡¡¡Èí¼þÔ­Àí£º

¡¡¡¡¸ÃÈí¼þµÄÔ­ÀíÆäʵºÜ¼òµ¥£¬¾ÍÊÇÒª·½±ãµÄ½âÎö³ö¶¨ÒåºÃµÄXML¸ñʽ±ê¼Ç£¬½â¶Á³öÎļþÖбê¼ÇµÄ²ÎÊý¶¨Ò壬×îºó½«ÕâЩÐÅÏ¢»¹Ô­³É´òÓ¡»úÊä³öµÄͼÐθñʽ¡£

¡¡¡¡ÎªÁËÄܱí´ï³ö¸´Ôӵı¨±íÑùʽ£¬ÎÒÃÇÐèÒª¶¨ÒåһЩ±ê¼Ç£¬ÔÚÕâЩ±ê¼ÇÖи½¼ÓÉϾßÌåµÄÑùʽÐÅÏ¢£¬×÷ÓÃÀàËÆHTMLµÄ±êÇ©£¬¶øÎÒÃǵĽâÎö³ÌÐò¾ÍÏ൱ÓÚIEä¯ÀÀÆ÷£¬Ëù²»Í¬µÄÊÇIE½«Í¼ÐÎÊä³öµ½ÆÁÄ»£¬¶øÎÒÃÇÊǽ«Í¼ÐÎÊä³öµ½´òÓ¡»ú£¬ÓÉÓÚ´òÓ¡»úÏà¶ÔÓÚÏÔʾÆÁµÄÌØÊâÐÔ£¨ÀýÈç·ÖÒ³£©£¬Òò´ËÎÒÃDz»ÄÜÖ±½Ó²ÉÓÃÍøÒ³ä¯ÀÀÆ÷µÄ±êÇ©½âÎö¹¦ÄÜÀ´´òÓ¡£¬ÐèÒª×Ô¼ºÀ´×öÒ»¸öÂú×ãÐèÒªµÄ"´òÓ¡ä¯ÀÀÆ÷"¡£

¡¡¡¡Õë¶Ô´ó¶àÊý±¨±íµÄ¹¦ÄÜÐèÒª£¬ÎÒÖ»¶¨ÒåÁËÁ½ÖÖ¸ñʽ±êÇ©£ºÎı¾£¨text£©ºÍ±í¸ñ(table)£¬ËüÃǵľßÌåÊôÐÔ¶¨ÒåºÍÁíÍâһЩÉèÖÃÐԵıêÇ©¶¨ÒåÇë²Î¿¼Ç°ÎÄ£¬ÕâÀïÔÙ²¹³äÒ»·ù½á¹¹Í¼°ïÖú¶ÁÕßÀí½â¡£ÈçÏÂËùʾ£º

¡¡¡¡½á¹¹Éè¼Æ£º

¡¡¡¡ÎªÁËÃèÊöËùÓеÄÑùʽ±ê¼Ç£¬ÎÒÏȶ¨ÒåÁËÒ»¸ö³éÏó»ùÀàPrintElement£¬ËüÓµÓÐÒ»¸öÐéÄâ·½·¨Draw£¬È»ºó¶ÔÓ¦±í¸ñºÍÎı¾£¬´ÓPrintElementÅÉÉú³öÁ½¸ö×ÓÀ࣬·Ö±ðÊÇTableºÍText£¬ÎÒ»¹´´½¨ÁËÒ»¸öParserÀàÓÃÀ´½âÎö²»Í¬µÄÑùʽ±ê¼ÇºÍ´´½¨¶ÔÓ¦µÄ¶ÔÏó£¬ËüÓµÓÐÒ»¸ö¾²Ì¬µÄ·½·¨CreateElement£¬ÓÃÀ´¸ù¾Ý²»Í¬µÄ¸ñʽ±êÇ©´´½¨³ö¶ÔÓ¦µÄ¶ÔÏ󡣽ṹͼÈçÏÂËùʾ£º

¡¡¡¡¶Á¹ý¡¶Éè¼ÆÄ£Ê½¡·µÄ¶ÁÕßÒ»¶¨ÒѾ­¿´³öÀ´ÁË£¬ÕâÖÖÉè¼ÆÓ¦ÓÃÁËÉè¼ÆÄ£Ê½ÖеÄÒ»¸ö·Ç³£ÖøÃûµÄģʽ£ºAbstract Factory¡£ÕâÀïʹÓøÃģʽµÄºÃ´¦¾ÍÊÇÈñêÇ©¶ÔÏóºÍ½âÎöÆ÷¶¼¶ÀÁ¢³öÀ´£¬½µµÍÁËϵͳµÄñîºÏ¶È£¬ÓÐÀûÓÚ½ñºóÔÚÐèÒªµÄʱºò¿ÉÒÔºÜÈÝÒ×µÄÔö¼ÓÆäËüµÄ¸ñʽ±êÇ©£¨ÏÂÎĽ«»á¾ÙÒ»¸öʵÀý£©ºÍ·½±ãµÄ¸ü»»²»Í¬µÄÓû§½çÃæ£¨Í¼ÖÐClient±íʾWindowsÓ¦ÓóÌÐò»òÕßÊÇÍøÒ³²å¼þ£©¡£

¡¡¡¡´úÂëʵÏÖ£º

¡¡¡¡Ê×ÏÈ£¬´´½¨Ò»¸ö"Windows¿Ø¼þ¿â"µÄÐÂÏîÄ¿£¬ÔÚÏîÄ¿Ãû³Æ´¦Ð´ÈëRemotePrint£¬ÈçÏÂͼËùʾ£º

¡¡¡¡È»ºó°Ñн¨ÏîÄ¿ÖеÄÄǸöĬÈϵÄUserControl1Àà,ËüµÄ¹¹Ô캯ÊýÃûºÍÎļþÃû¶¼¸Ä³ÉPrintControl¡£ÔÙ½«ËüµÄ±³¾°ÑÕÉ«ÉèÖÃΪ°×É«£¬Ìí¼ÓÈý¸ö°´Å¦£¬²¢½«ËüÃǵÄEnableÊôÐÔ¶¼ÉèÖÃΪfalse£¬AnchorÊôÐÔÉèÖÃΪBottom, Right£¬ÔÙÌí¼ÓÒ»¸öLabel¿Ø¼þÓÃÀ´ÏÔʾ³ÌÐò״̬£¬ËüµÄAnchorÊôÐÔÉèÖÃΪLeft¡£ÈçÏÂͼËùʾ£º

¡¡¡¡ÔٴӿؼþÀ¸ÖÐÍÏÈëÈý¸ö´òÓ¡¶ÔÏó£ºPrintDocument, PageSetupDialog, PrintPreviewDialog,ÈçÏÂͼËùʾ£º

¡¡¡¡½«ÆäÖеÄpageSetupDialog1ºÍprintPreviewDialog1µÄDocumentÊôÐÔ¾ùÉèÖÃΪprintDocument1¡£

¡¡¡¡È»ºóΪÏîÄ¿Ìí¼ÓÒ»¸öPrintElementµÄÐÂÀ࣬´úÂëÈçÏ£º

using System;
using System.Xml;
using System.Drawing;

namespace RemotePrint
{
public class PrintElement
{
public PrintElement()
{
}

public virtual bool Draw(Graphics g)
{
return false;
}
}
}

¡¡¡¡¸ÃÀàÖÐÖ»ÓÐÒ»¸öÐéÄâ·½·¨Draw£¬×¢ÒâËü¹æ¶¨ÐèÒª·µ»ØÒ»¸öboolÖµ£¬Õâ¸öÖµµÄ×÷ÓÃÊÇÓÃÀ´Ö¸Ê¾±êÇ©ÊÇ·ñÔÚÒ³ÄÚ´òÓ¡Íê±Ï¡£

¡¡¡¡È»ºóÔÙÌíÒ»¸öTableµÄÐÂÀ࣬´úÂëÈçÏ£º

using System;
using System.Xml;
using System.Drawing;

namespace RemotePrint
{
public class Table : PrintElement
{
private XmlNode table;
public static int count = 0, pc = 1;

public Table(XmlNode Table)
{
table = Table;
}

public override bool Draw(Graphics g)
{
file://
±í¸ñ×ø±ê
int tableX = int.Parse(table.Attributes["x"].InnerText);
int tableY = int.Parse(table.Attributes["y"].InnerText);
int x = tableX, y = tableY;
DrawTopLine(g, table);//
»­±í¸ñ¶¥Ïß
Pen pen = new Pen(Color.FromName(table.Attributes["bordercolor"].InnerText),
float.Parse(table.Attributes["border"].InnerText));
int trheight = 0;
file://
±íÍ·
foreach(XmlNode tr in table["tablehead"].ChildNodes)
{
trheight = int.Parse(tr.Attributes["height"].InnerText);
DrawTR(x, y, tr, pen, g);
y += trheight;
}
file://
±íÏî
for(int i = 0; i
£¼ int.Parse(table.Attributes["maxlines"].InnerText); i++)
{
XmlNode tr = table["tablebody"].ChildNodes[count];
trheight = int.Parse(tr.Attributes["height"].InnerText);
DrawTR(x, y, tr, pen, g);
y += trheight;
count++;
if(count == table["tablebody"].ChildNodes.Count)
break;
}
x = tableX;
file://
±íµ×
foreach(XmlNode tr in table["tablefoot"].ChildNodes)
{
trheight = int.Parse(tr.Attributes["height"].InnerText);
DrawTR(x, y, tr, pen, g);
y += trheight;
}
int currentpage = pc;
pc++;
bool hasPage = false;

if(count £¼ table["tablebody"].ChildNodes.Count - 1)
{
hasPage = true;//
ÐèÒª¼ÌÐø´òÓ¡
}
else
{
count = 0;
pc = 1;
hasPage = false;//
±í¸ñ´òÓ¡Íê±Ï
}
return hasPage;
}

private void DrawTopLine(Graphics g, XmlNode table)
{
Pen pen = new Pen(Color.FromName(table.Attributes["bordercolor"].InnerText),
float.Parse(table.Attributes["border"].InnerText));
int width = 0;
foreach(XmlNode td in table.FirstChild.FirstChild)
{
width += int.Parse(td.Attributes["width"].InnerText);
}
int x = int.Parse(table.Attributes["x"].InnerText);
int y = int.Parse(table.Attributes["y"].InnerText);
g.DrawLine(pen, x, y, x + width, y);
}

file://»­±í¸ñÐÐ
private void DrawTR(int x, int y, XmlNode tr, Pen pen, Graphics g)
{
int height = int.Parse(tr.Attributes["height"].InnerText);
int width;
g.DrawLine(pen, x, y, x, y + height);//
»­×ó¶ËÏßÌõ
foreach(XmlNode td in tr)
{
width = int.Parse(td.Attributes["width"].InnerText);
DrawTD(x, y, width, height, td, g);
g.DrawLine(pen, x + width, y, x + width, y + height);//
ÓÒÏß
g.DrawLine(pen, x, y + height, x + width, y + height);//
µ×Ïß
x += width;
}
}

file://»­µ¥Ôª¸ñ
private void DrawTD(int x, int y, int width, int height, XmlNode td, Graphics g)
{
Brush brush = new SolidBrush(Color.FromName(td.Attributes["bgcolor"].InnerText));
g.FillRectangle(brush, x, y, width, height);
FontStyle style = FontStyle.Regular;
file://
ÉèÖÃ×ÖÌåÑùʽ
if(td.Attributes["b"].InnerText == "true")
style |= FontStyle.Bold;
if(td.Attributes["i"].InnerText == "true")
style |= FontStyle.Italic;
if(td.Attributes["u"].InnerText == "true")
style |= FontStyle.Underline;
Font font = new Font(td.Attributes["fontname"].InnerText,
float.Parse(td.Attributes["fontsize"].InnerText), style);
brush = new SolidBrush(Color.FromName(td.Attributes["fontcolor"].InnerText));
StringFormat sf = new StringFormat();
file://
ÉèÖÃ¶ÔÆë·½Ê½
switch(td.Attributes["align"].InnerText)
{
case "center":
sf.Alignment = StringAlignment.Center;
break;
case "right":
sf.Alignment = StringAlignment.Near;
break;
default:
sf.Alignment = StringAlignment.Far;
break;
}
sf.LineAlignment = StringAlignment.Center;
RectangleF rect = new RectangleF( (float)x, (float)y, (float)width, (float)height);
g.DrawString(td.InnerText, font, brush, rect, sf);
}
}
}

¡¡¡¡TableÀཫtable±êÇ©ÄÚ²¿µÄ½âÎöºÍ´òÓ¡¶ÀÁ¢³öÀ´£¬È«²¿ÔÚÀàµÄÄÚ²¿Íê³É£¬ÕâÑù£¬ÎÒÃÇÔÚ¶Ô¶¥²ã±êÇ©½âÎöµÄʱºòÖ»ÒªÊÇÅöµ½table±êÇ©¾ÍÖ±½Ó½»¸øTableÀàÈ¥Íê³É£¬²»ÐèÒªÔÙ¹ØÐÄÆäʵÏÖϸ½Ú¡£

¡¡¡¡ÔÙÌí¼ÓÒ»¸öTextÀ࣬´úÂëÈçÏ£º

using System;
using System.Xml;
using System.Drawing;

namespace RemotePrint
{
public class Text : PrintElement
{
private XmlNode text = null;
public Text(XmlNode Text)
{
text = Text;
}
public override bool Draw(Graphics g)
{
Font font = new Font(text.Attributes["fontname"].InnerText,
int.Parse(text.Attributes["fontsize"].InnerText));
Brush brush = new SolidBrush(Color.FromName(text.Attributes["fontcolor"].InnerText));
g.DrawString(text.InnerText, font, brush, float.Parse(text.Attributes["x"].InnerText),
float.Parse(text.Attributes["y"].InnerText));
return false;
}
}
}

¡¡¡¡Í¬TableÀàÒ»Ñù£¬TextÀàÍê³É¶Ôtext±êÇ©µÄ½âÎöºÍ´òÓ¡£¬²»¹ýÒòΪtextµÄ¼òµ¥ÐÔ£¬ËüµÄ´úÂëÒ²ÉÙÁ˺ܶࡣËüÃÇÁ½ÕßͬÑù¼Ì³Ð×ÔPrintElement£¬¶¼ÖØÔØÁËDraw·½·¨µÄʵÏÖ¡£

×îºó£¬ÎÒÃÇ»¹ÐèÒªÒ»¸ö½âÎöÆ÷ÓÃÀ´½âÎö¶¥²ãµÄ±êÇ©ºÍÉú³ÉÏàÓ¦µÄ¶ÔÏó£¬ËüÔÚ´ËģʽÖеÄ×÷ÓþÍÊÇÒ»¸ö"¹¤³§Àà"£¬¸ºÔðÉú²ú³öÓû§ÐèÒªµÄ"²úÆ·"¡£´úÂëÈçÏ£º

using System;
using System.Xml;

namespace RemotePrint
{
public class Parser
{
public Parser()
{
}
public static PrintElement CreateElement(XmlNode element)
{
PrintElement printElement = null;
switch(element.Name)
{
case "text":
printElement = new Text(element);
break;
case "table":
printElement = new Table(element);
break;
default:
printElement = new PrintElement();
break;
}
return printElement;
}
}
}

¡¡¡¡ºÃÁË£¬ºËÐĵĽâÎöºÍ±êÇ©µÄ¾ßÌå´òÓ¡·½·¨ÒѾ­Íê³ÉÁË£¬ÏÖÔÚÎÒÃǻص½PrintControlÖбàдһЩ´úÂëÀ´²âÊÔÎÒÃǵijɹû¡£

¡¡¡¡Ê×ÏÈ£¬ÐèÒªÒýÓÃÁ½¸öÒªÓõ½µÄÃû³Æ¿Õ¼ä£º

using System.Xml;

using System.Drawing.Printing;

¡¡¡¡È»ºó£¬ÔÚ´òӡ֮ǰ£¬ÐèÒª¸ù¾ÝXMLÎļþÖеÄpagesetting±êÇ©À´ÉèÖÃһϴòÓ¡»úµÄÒ³Ãæ£¬ËùÒÔÎÒÃÇÏÈдһ¸ö·½·¨À´ÉèÖôòÓ¡»ú¡£ÔÚPrintControlÀàÖÐÔö¼ÓÒ»¸ö˽Óеķ½·¨£º

private void SettingPrinter(XmlNode ps)
{
file://
´òÓ¡·½Ïò£¨×Ý/ºá£©
this.printDocument1.DefaultPageSettings.Landscape = bool.Parse(ps["landscape"].InnerText);
file://
ÉèÖÃÖ½ÕÅÀàÐÍ
string papername = ps["paperkind"].InnerText;
bool fitpaper = false;
file://
»ñÈ¡´òÓ¡»úÖ§³ÖµÄËùÓÐÖ½ÕÅÀàÐÍ
foreach(PaperSize size in this.printDocument1.PrinterSettings.PaperSizes)
{
if(papername == size.PaperName)//
¿´¸Ã´òÓ¡»úÊÇ·ñÓÐÎÒÃÇÐèÒªµÄÖ½ÕÅÀàÐÍ
{
this.printDocument1.DefaultPageSettings.PaperSize = size;
fitpaper = true;
}
}
if(!fitpaper)
{
file://
¼ÙÈçûÓÐÎÒÃÇÐèÒªµÄ±ê×¼ÀàÐÍ,ÔòʹÓÃ×Ô¶¨ÒåµÄ³ß´ç
this.printDocument1.DefaultPageSettings.PaperSize =
new PaperSize("Custom", int.Parse(ps["paperwidth"].InnerText),
int.Parse(ps["paperheight"].InnerText));
}
}

¡¡¡¡½ÓÏÂÀ´£¬ÎÒÃÇÀàÖÐÌí¼ÓÒ»¸öXmlDocumentµÄ¶ÔÏóºÍÒ»¸ö¾²Ì¬±äÁ¿¼ÆËãÒ³Â룺

private XmlDocument doc = new XmlDocument();

public static int Pages = 1;

¡¡¡¡È»ºóÔٿؼþµÄLoadʼþÖÐΪ¸Ã¶ÔÏó¼ÓÔØXML±¨±íÊý¾Ý£¬´úÂëÈçÏ£º

private void PrintControl_Load(object sender, System.EventArgs e)
{
try
{
file://
×°ÔØ±¨±íXMLÊý¾Ý
this.label1.Text = "
ÕýÔÚ¼ÓÔØ±¨±íÊý¾Ý£¬ÇëÉÔºî...";
doc.Load("http://localhost/report.xml");
this.label1.Text = "
±¨±íÊý¾Ý¼ÓÔØÍê±Ï£¡";
this.button1.Enabled = this.button2.Enabled = this.button3.Enabled = true;
}
catch(Exception ex)
{
this.label1.Text = "
³öÏÖ´íÎó£º" + ex.Message;
}
}

¡¡¡¡Çë×¢Ò⣬ÎÒÃÇÕâÀïÖ»ÊÇ×°ÈëÁËÒ»¸ö±¾µØµÄ²âÊÔÊý¾ÝÎļþ£¬Æäʵ£¬ÍêÈ«¿ÉÒԸijÉ×°ÔØÍøÂçÉÏÈκεط½µÄ¾²Ì¬»òÕß¶¯Ì¬µÄXMLÎļþ£¬ÀýÈçÒÔÉϵÄdoc.Load("http://localhost/report.xml")¿ÉÒÔ¸Äд³É£º

doc.Load("http://www.anywhere.com/report.xml");

doc.Load("http://www.anywhere.com/report.asp");

doc.Load("http://www.anywhere.com/report.jsp£¿date=xxx");

¡¡¡¡µÈµÈ£¬Ö»Òª×°ÔصÄÊý¾ÝÊÇ·ûºÏÎÒÃǹ涨µÄXMLÊý¾ÝÎĵµ¾Í¿ÉÒÔ¡£

¡¡¡¡È»ºóÔڿؼþµÄ¹¹Ô캯ÊýÖмÓÈë´òӡʼþµÄίÍУº

public PrintControl()

{

InitializeComponent();

this.printDocument1.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);

}

¡¡¡¡¸ÃίÍз½·¨µÄ´úÂëÈçÏ£º

private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
Graphics g = ev.Graphics;
bool HasMorePages = false;
PrintElement printElement = null;

foreach(XmlNode node in doc["root"]["reporttable"].ChildNodes)
{
printElement = Parser.CreateElement(node);//
µ÷ÓýâÎöÆ÷Éú³ÉÏàÓ¦µÄ¶ÔÏó
try
{
HasMorePages = printElement.Draw(g);//
ÊÇ·ñÐèÒª·ÖÒ³
}
catch(Exception ex)
{
this.label1.Text = ex.Message;
}
}

file://ÔÚÒ³µ×ÖмäÊä³öÒ³Âë
Font font = new Font("
ºÚÌå", 12.0f);
Brush brush = new SolidBrush(Color.Black);
g.DrawString("
µÚ " + Pages.ToString() + " Ò³",
font,brush,ev.MarginBounds.Width / 2 + ev.MarginBounds.Left - 30,
ev.PageBounds.Height - 60);

if(HasMorePages)
{
Pages++;
}
ev.HasMorePages = HasMorePages;
}

¡¡¡¡Èý¸ö°´Å¦µÄClickʼþ´úÂë·Ö±ðÈçÏ£º

//Ò³ÃæÉèÖÃ
private void button1_Click(object sender, System.EventArgs e)
{
this.pageSetupDialog1.ShowDialog();
this.printDocument1.DefaultPageSettings = this.pageSetupDialog1.PageSettings;
}
file://
´òÓ¡Ô¤ÀÀ
private void button2_Click(object sender, System.EventArgs e)
{
try
{
this.printPreviewDialog1.ShowDialog();
}
catch(Exception ex)
{
this.label1.Text = ex.Message;
}
}
file://
´òÓ¡
private void button3_Click(object sender, System.EventArgs e)
{
try
{
this.printDocument1.Print();
}
catch(Exception ex)
{
this.label1.Text = ex.Message;
}
}

¡¡¡¡ºÃÁË£¬ÎÒÃǵĴòÓ¡¿Ø¼þµ½ÕâÀï¾ÍÈ«²¿×öÍêÁË£¬Ñ¡ÔñÉú³ÉÒ»¸öReleaseµÄ°æ±¾£¬È»ºóµ½¹¤³ÌĿ¼Ï½«Éú³ÉµÄPrintControl.dllÎļþ¿½±´µ½IISµÄÐéÄâ¸ùĿ¼Ï£¬È»ºóн¨Ò»¸öremoteprint.htmµÄHTML¸ñʽÎļþ£¬ÔÚºÏÊʵĵط½¼ÓÉÏ£º£¼object id="print" classid="http:RemotePrint.dll#RemotePrint.PrintControl" Width="100%" Height="60"£¾ £¼/object£¾£¬ÎªÁ˸ü¼ÓÐÎÏóºÍÃÀ¹Û£¬»¹¿ÉÒÔ½«ÐèÒª´òÓ¡µÄÊý¾Ý×ö³ÉÍøÒ³ÐÎʽ·ÅÔÚÉÏÃæ£¬Èç¹ûÐèÒª»ñÈ¡µÄXMLÊǶ¯Ì¬Êý¾ÝÔ´£¬Ôò¿ÉÒÔ²ÉÓÃaspµÈ¶¯Ì¬½Å±¾À´Éú³É¸ÃÍøÒ³±í¸ñ£¬Èç¹ûÐèÒª»ñÈ¡µÄXMLÊÇÒ»¸ö¾²Ì¬µÄÎı¾£¬Ôò¿ÉÒÔ²ÉÓÃXSLTÖ±½Ó½«XMLÎļþת»»³ÉÍøÒ³±í¸ñ¡£

¡¡¡¡´ò¿ªä¯ÀÀÆ÷£¬ÊäÈ룺http://localhost/remoteprint.htm£¬Èç¹ûÄúÒѾ­¸úÎÒÒ»Ñù£¬ÊÂÏÈ×öºÃÁËÒ»¸öXML±¨±íÊý¾ÝÎļþµÄ»°£¬Äú¾Í¿ÉÒÔ¿´µ½ÏÂͼËùʾµÄЧ¹û

¡¡¡¡

¡¡¡¡Çë×¢Ò⣺¸ÃͼʾÀýÖеÄËùÓÐÊý¾Ý¾ùΪ±ÊÕßËæÒâÐéÄâ£¬ÍøÒ³Öеıí¸ñÊý¾ÝºÍ´òÓ¡Êý¾Ý²¢·ÇÀ´×ÔͬһÊý¾ÝÔ´£¬Ò²Ã»ÓпÌÒâÈ¥¶ÔµÈ£¬½ö½öÖ»ÊÇΪÁËÑÝʾһÏÂЧ¹û£¬Òò´ËÍøÒ³ÏÔʾ±¨±í¸ú´òÓ¡Ô¤ÀÀÖеı¨±íÓÐһЩ³öÈëÊÇÕý³£µÄ¡£ÔÚʵ¼ÊÓ¦ÓÃÖпÉÒÔÈÃÍøÒ³ÏÔʾÊý¾Ý¸ú´òÓ¡Êä³öÊý¾ÝÍêȫһÖ¡£

·½°¸À©³ä£º

¡¡¡¡ÄÇôÈçºÎ´òÓ¡Ò»Ð©ÌØÊâÐÎ̬µÄͼ±í£¬Ç°ÎÄÖÐÒѾ­Ìáµ½£¬²ÉÓñ¾·½°¸¿ÉÒԷdz£·½±ãµÄ¶¨Òå³ö×Ô¼ºËùÐèÒªµÄ±êÇ©£¬ÔÚÀíÂÛÉÏ¿ÉÒÔ´òÓ¡³öÈκÎÑùʽµÄÌØÊâͼ±í¡£Òò´Ë±¾ÎÄ´òËãÏêϸ½éÉÜÒ»ÏÂÔö¼Ó×Ô¼º¶¨ÒåµÄ±êÇ©À©³ä´òÓ¡¸ñʽµÄ¾ßÌå¹ý³Ì¡£

¡¡¡¡ÏȼÙÉèÎÒÃǵĿͻ§¿´ÁË´òӡЧ¹ûºó»ù±¾ÉÏÂúÒ⣬µ«ÊÇ»¹ÓоõµÃÒ»µã²»×㣬Èç¹ûÐèÒª´òӡһЩͼ±íÔõô°ì£¿ÀýÈçÕÛÏßͼ¡¢KÏßͼ¡¢±ý״ͼ¡¢Öù״ͼµÈµÈ¡£Ê¹ÓÃÎÒÃÇÏÖÓеıêÇ©¾Í²»ÐÐÁË£¬ËùÒÔÎÒÃÇÊ×ÏÈÒªÀ©³äÎÒÃǵıêÇ©¿â£¬ÈÃËüµÄ±í´ïÄÜÁ¦¸ü¼ÓÇ¿¡£ÔÚÕâÀÎÒ½«Ö»´òËãÈÃÎÒÃǵĴòÓ¡¿Ø¼þѧ»á»­¼òµ¥µÄÕÛÏßͼ£¬Ï£Íû¶ÁÕßÄܾÙÒ»·´Èý£¬´´Ôì³öÆäËü¸÷ÖÖ¸÷ÑùµÄ´òӡЧ¹û¡£

¡¡¡¡×î»ù±¾µÄÕÛÏßͼÊÇÓÉX×ø±êÖá¡¢Y×ø±êÖáºÍһϵÁеãÁ¬½Ó³ÉµÄÏß¹¹³ÉµÄ£¬Òò´Ë£¬ÎÒ¶¨ÒåÁËÒÔϼ¸ÖÖ±êÇ©£º

¡¡¡¡1. linechart£º¸útable£¬text±êǩһÑù£¬ÎªÑùʽ¸ù±êÇ©¡£

¡¡¡¡¡¡ÊôÐÔ£ºÎÞ

¡¡¡¡2£® coordinate£º×ø±ê¡£

¡¡¡¡¡¡ÊôÐÔ£ºÎÞ

¡¡¡¡3£® xcoordinate£ºXÖá×ø±êÏß

¡¡¡¡¡¡ÊôÐÔ£º

¡¡¡¡¡¡# x£ºÆðµãX×ø±êÖµ

¡¡¡¡¡¡# y£ºÆðµãY×ø±êÖµ

¡¡¡¡¡¡# length£º³¤¶ÈÖµ

¡¡¡¡¡¡# stroke£º´Öϸ

¡¡¡¡¡¡# color£ºÑÕÉ«

¡¡¡¡¡¡# arrow£ºÊÇ·ñÓмýÍ·

¡¡¡¡4£® ycoordinate£ºYÖá×ø±êÏß

¡¡¡¡¡¡ÊôÐÔ£ºÍ¬xcoordinate¡£

¡¡¡¡5£®scale£º¿Ì¶ÈÏß

¡¡¡¡¡¡±êÇ©ÄÚÈÝ£ºÏÔʾÔڿ̶ȱߵÄÎÄ×Ö

¡¡¡¡¡¡ÊôÐÔ£º

¡¡¡¡¡¡# length£º¾àÀëÆðµã³¤¶ÈÖµ

¡¡¡¡¡¡# height£º¿Ì¶ÈÏ߸߶È

¡¡¡¡¡¡# width£º¿Ì¶ÈÏß¿í¶È

¡¡¡¡¡¡# color£ºÑÕÉ«

¡¡¡¡¡¡# fontsize£º×ÖÌå´óС

¡¡¡¡6£®chart£ºÍ¼±í¸ù

¡¡¡¡¡¡ÊôÐÔ£ºÎÞ

¡¡¡¡7£®lines£ºÏß¶Î

¡¡¡¡¡¡ÊôÐÔÖµ£º

¡¡¡¡¡¡# stroke£º´Öϸ

¡¡¡¡¡¡# color£ºÑÕÉ«

¡¡¡¡8£® point£ºµã

¡¡¡¡¡¡ÊôÐÔÖµ£º

¡¡¡¡¡¡# x£ºX×ø±êÖµ

¡¡¡¡¡¡# y£ºY×ø±êÖµ

¡¡¡¡¡¡# radius£º°ë¾¶

¡¡¡¡¡¡# color£ºÑÕÉ«

¡¡¡¡Æä½á¹¹Í¼ÈçÏÂËùʾ£º


¡¡¡¡ÏÂÃæÊÇÒ»¶ÎÓøղŶ¨ÒåµÄ±êÇ©ÖÆ×÷µÄXMLÕÛÏßͼʾÀý£º

£¼linechart£¾

£¼coordinate£¾

£¼xcoordinate x="200" y="600" length="800" stroke="2" color="Black" arrow="true"£¾

£¼scale length="100" height="10" width="1" color="Black" fontsize="9"£¾100£¼/scale£¾

£¼scale length="200" height="10" width="1" color="Black" fontsize="9"