{"id":701,"date":"2013-02-20T20:05:59","date_gmt":"2013-02-20T12:05:59","guid":{"rendered":"http:\/\/blog.inout.asia\/?p=701"},"modified":"2013-02-20T20:05:59","modified_gmt":"2013-02-20T12:05:59","slug":"xslt%e4%bb%8b%e7%bb%8d","status":"publish","type":"post","link":"https:\/\/blog.my0513.com\/?p=701","title":{"rendered":"XSLT\u4ecb\u7ecd"},"content":{"rendered":"<p align=\"left\">\u00a0 \u00a0 XSLT\u662f\u4e00\u79cd\u5c06XML\u6587\u6863\u8f6c\u6362\u4e3a\u5176\u4ed6\u6587\u672c\u6587\u6863\u7684\u8bed\u8a00\uff0c\u662f\u5efa\u7acb\u5728XML\u548cXPath\u4e4b\u4e0a\u7684\u56fd\u9645\u6807\u51c6\uff0c\u5185\u5bb9\u6bd4\u8f83\u591a\uff0c\u529f\u80fd\u5f3a\u5927\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u5bf9\u4e8e\u7f16\u7a0b\u4eba\u5458\u6765\u8bf4\uff0cXSLT\u53ef\u4ee5\u770b\u4f5c\u4ee5\u524d\u5e8f\u904d\u5386\u7684\u65b9\u5f0f\u4e13\u95e8\u5904\u7406XML\u6811\u72b6\u7ed3\u6784\u7684\u6807\u8bb0\u8bed\u8a00\u3002\u4ee5\u524d\u7f16\u7a0b\u6839\u636eXML\u6587\u6863\u8f93\u51fa\u7eaf\u6587\u672c\u6570\u636e\u65f6\u9700\u8981\u5199\u4ee3\u7801\u4ee5\u524d\u5e8f\u904d\u5386\u65b9\u5f0f\u7684\u65b9\u5f0f\u904d\u5386XML\u6587\u6863\u5bf9\u8c61\u7ec4\u6210\u7684\u6811\u72b6\u7ed3\u6784\uff0c\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u7279\u5b9a\u540d\u79f0\u6216\u7279\u5b9a\u5c42\u6b21\u7684XML\u8282\u70b9\u800c\u8f93\u51fa\u4e0d\u540c\u7684\u5185\u5bb9\uff0c\u8fd9\u4e2a\u8fc7\u7a0b\u6bd4\u8f83\u590d\u6742\uff0c\u4ee3\u7801\u91cf\u5927\uff0c\u9700\u7528\u8fdb\u884c\u5f88\u591a\u7684\u72b6\u6001\u5224\u65ad\u3002\u800cXSLT\u5219\u4f7f\u7528\u4e00\u79cd\u7b80\u6d01\u660e\u4e86\u7684\u6807\u8bb0\u8bed\u8a00\u5b9e\u73b0\u4e86\u76f8\u540c\u7684\u903b\u8f91\u3002\u56e0\u6b64XSLT\u4ece\u7a0b\u5e8f\u903b\u8f91\u7684\u89d2\u5ea6\u770b\u7c7b\u4f3c\u652f\u6301\u9012\u5f52\u7684\u7f16\u7a0b\u8bed\u8a00\uff0c\u800c\u4e14\u662f\u4e13\u95e8\u5904\u7406XML\u6587\u6863\u7684\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 XSLT\u8f6c\u6362\u8fc7\u7a0b\u4f1a\u6d89\u53ca\u5230\u4e09\u4e2a\u6587\u672c\u6587\u6863\uff0c\u4e00\u4e2a\u662f\u8981\u5904\u7406\u7684\u539f\u59cbXML\u6587\u6863\uff0c\u7b2c\u4e8c\u4e2a\u5c31\u662fXSLT\u6837\u5f0f\u8868\u6587\u6863\uff0c\u8be5\u6587\u6863\u5305\u542b\u4e86XSLT\u4ee3\u7801\uff0cXSLT\u4ee3\u7801\u672c\u8eab\u5c31\u662fXML\u683c\u5f0f\uff0c\u4f46\u4f7f\u7528\u4e86XML\u7684\u540d\u79f0\u7a7a\u95f4\u3002\u7b2c\u4e09\u4e2a\u5c31\u662fXSLT\u5904\u7406\u8f93\u51fa\u7684\u6587\u672c\u6587\u6863\uff0c\u6ce8\u610f\uff0c\u6b64\u5904\u8f93\u51fa\u7684\u662f\u7eaf\u6587\u672c\u6587\u6863\uff0c\u8fd9\u4e2a\u6587\u6863\u5177\u4f53\u662f\u4ec0\u4e48\u683c\u5f0f\u5b8c\u5168\u9760XSLT\u4ee3\u7801\u6765\u51b3\u5b9a\uff0c\u53ef\u4ee5\u662f\u53e6\u5916\u4e00\u4e2aXML\u6587\u6863\uff0cHTML\u6587\u6863\uff0cSQL\u8bed\u53e5\u5b57\u7b26\u4e32\u6216\u8005\u5176\u4ed6\u4efb\u610f\u683c\u5f0f\u7684\u5b57\u7b26\u4e32\u6570\u636e\u7b49\u7b49\uff0cXSLT\u8f6c\u6362\u53ea\u80fd\u8f93\u51fa\u7eaf\u6587\u672c\u6587\u6863\uff0c\u6b64\u5916\u5c31\u6ca1\u6709\u9650\u5236\u8f93\u51fa\u6587\u6863\u7684\u5177\u4f53\u683c\u5f0f\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u6570\u636eXML\u6587\u6863\u662f\u4e00\u4e2a\u5f88\u7b80\u5355\u7684XML\u6587\u6863\uff0c\u6b64\u5904\u4e0d\u52a0\u8bf4\u660e\u4e86\u3002\u91cd\u70b9\u8bf4\u8bf4XSLT\u6837\u5f0f\u8868\u6587\u6863\uff0cXSLT\u6837\u5f0f\u8868\u6587\u6863\u672c\u8eab\u662f\u4e00\u4e2aXML\u6587\u6863\u3002\u5b83\u91c7\u7528XML\u7684\u6811\u72b6\u7ed3\u6784\u6765\u63cf\u8ff0\u9012\u5f52\u5904\u7406\u8fc7\u7a0b\uff0c\u4e5f\u6bd4\u8f83\u597d\u7406\u89e3\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u5728\u6837\u5f0f\u8868\u6587\u6863\u4e2d\uff0c\u6839\u5143\u7d20\u4e3a xsl:stylesheet\uff0c\u91cc\u9762\u5b9a\u4e49\u4e86\u4e00\u4e2a\u540d\u4e3axsl\u7684\u540d\u79f0\u7a7a\u95f4\uff0c\u8fd9\u4e2a\u6839\u8282\u70b9\u53ca\u5176\u5c5e\u6027\u503c\u90fd\u662f\u56fa\u5b9a\u7684\u3002<\/p>\n<p align=\"left\">xsl:output\u5143\u7d20\u662f\u53ef\u9009\u7684\uff0c\u5b83\u7684method\u5c5e\u6027\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u6587\u6863\u7684\u683c\u5f0f\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3axml\uff0chtml\u6216text\u503c\u3002\u6b64\u5904\u4f7f\u7528xml\u8f93\u51fa\u6837\u5f0f\uff0c\u8bf4\u660e\u8f93\u51fa\u7684\u6587\u6863\u662fXML\u683c\u5f0f\u7684\uff0cXSLT\u8f6c\u6362\u4f1a\u5c3d\u91cf\u751f\u6210XML\u6587\u6863\uff0c\u4f46\u4e0d\u4f5c\u4fdd\u8bc1\uff0c\u56e0\u6b64\u4ecd\u7136\u6709\u53ef\u80fd\u751f\u6210\u4e0d\u5408\u683c\u7684XML\u6587\u6863\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 xsl:template\u7528\u4e8e\u5b9a\u4e49\u4e00\u4e2aXSLT\u6a21\u677f\uff0c\u6a21\u677f\u7c7b\u4f3c\u7f16\u7a0b\u8bed\u8a00\u4e2d\u7684\u51fd\u6570\uff0c\u53ef\u5b9e\u73b0XSLT\u4ee3\u7801\u7684\u91cd\u7528\u3002\u6a21\u677f\u53ef\u4ee5\u4f7f\u7528name\u5c5e\u6027\u5b9a\u4e49\u540d\u79f0\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528match\u5c5e\u6027\u5b9a\u4e49\u5339\u914d\u7684XPath\u8def\u5f84\uff0c\u8fd9\u4e2a\u6a21\u677f\u4f7f\u7528\u4e86match\u5c5e\u6027\u6765\u5339\u914dXML\u6587\u6863\u672c\u8eab\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u7136\u540e\u662f html\u5143\u7d20\uff0c\u7531\u4e8ehtml\u5143\u7d20\u6ca1\u6709\u4f7f\u7528xsl\u7684\u524d\u7f00\uff0c\u56e0\u6b64\u4e0d\u5c5e\u4e8exslt\u4ee3\u7801\uff0c\u56e0\u6b64\u5c06\u539f\u6837\u8f93\u51fa\uff0c\u8ddf\u7740\u540e\u9762\u7684body\uff0ctable\u5143\u7d20\u4e5f\u662f\u4e00\u6837\u7684\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 xsl:for-each\u5143\u7d20\u7c7b\u4f3cC#\u4e2d\u7684foreach\u8bed\u6cd5\u7ed3\u679c\uff0c\u8868\u793a\u5faa\u73af\u904d\u5386\u5143\u7d20\uff0c\u5b83\u4f7f\u7528select\u5c5e\u6027\u6307\u5b9a\u4e00\u4e2aXPath\u76f8\u5bf9\u8def\u5f84\uff0cXSLT\u4f7f\u7528\u8fd9\u4e2a\u76f8\u5bf9\u8def\u5f84\u67e5\u8be2\u6240\u6709\u8981\u904d\u5386\u7684XML\u8282\u70b9\uff0c\u6b64\u65f6\u5f53\u524d\u8282\u70b9\u5c31\u662fXML\u6587\u6863\u672c\u8eab\uff0c\u56e0\u6b64XSLT\u5904\u7406\u5668\u4f1a\u8c03\u7528XmlDocument\u7684SelectNodes\u51fd\u6570\u6765\u83b7\u5f97\u8981\u904d\u5386\u7684XML\u8282\u70b9\uff0c\u51fd\u6570\u7684\u53c2\u6570\u5c31\u662fTable\/Record\u3002\u4e8e\u662f\u6211\u4eec\u5f00\u59cb\u5faa\u73af\u904d\u5386\u6240\u6709\u7684Record\u5143\u7d20\u4e86\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u5728\u5faa\u73af\u904d\u5386Record\u5143\u7d20\u65f6\uff0c\u5bf9\u6bcf\u4e00\u4e2aRecord\u5143\u7d20\u90fd\u8981\u8f93\u51faxsl:for-each\u7684\u5b50\u8282\u70b9\uff0c\u9996\u5148\u662f tr\u5143\u7d20\uff0c\u8fd9\u4e0d\u662fXSLT\u5143\u7d20\uff0c\u56e0\u6b64\u539f\u6837\u8f93\u51fa\u3002\u8fd9\u91cc\u8fd8\u5957\u5d4c\u5b9a\u4e49\u4e86\u53e6\u5916\u4e00\u4e2afor-each\u5143\u7d20\uff0c\u4e8e\u662f\u6211\u4eec\u53c8\u5f00\u59cb\u4e86\u4e00\u4e2a\u65b0\u7684\u5faa\u73af\u904d\u5386\u4e86\uff0c\u65b0\u7684\u5faa\u73af\u6307\u5b9a\u7684\u76f8\u5bf9XPath\u8def\u5f84\u662f\u4e00\u4e2a\u661f\u53f7\uff0c\u8868\u793a\u5339\u914d\u6240\u6709\u540d\u79f0\u7684\u5b50\u5143\u7d20\uff0c\u8fd9\u7c7b\u4f3cDOS\u547d\u4ee4Dir\u4e2d\u4f7f\u7528\u661f\u53f7\u5339\u914d\u6240\u6709\u6587\u4ef6\u3002\u6b64\u5904\u8868\u793a\u5faa\u73af\u904d\u5386Record\u5143\u7d20\u4e0b\u9762\u6240\u6709\u7684\u5b57\u6bb5\u5143\u7d20\u3002<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0 \u5bf9\u6bcf\u4e00\u4e2a\u5b57\u6bb5\u5143\u7d20\uff0c\u9996\u5148\u8f93\u51fatd\u5143\u7d20\uff0c\u7136\u540e\u5904\u7406xsl:value-of\u5143\u7d20\uff0cxsl:value-of\u8868\u793a\u8f93\u51fa\u6307\u5b9a\u76f8\u5bf9\u8def\u5f84\u7684\u8282\u70b9\u7684\u503c\uff0c\u8fd9\u91cc\u6307\u5b9a\u7684XPath\u662f\u4e00\u4e2a\u70b9\u53f7\uff0c\u8868\u793a\u5f53\u524d\u8282\u70b9\u672c\u8eab\uff0c\u7531\u4e8e\u5f53\u524d\u8282\u70b9\u662fXML\u5143\u7d20\uff0c\u56e0\u6b64\u4e5f\u5c31\u8f93\u51fa\u5143\u7d20\u7684\u6587\u672c\u5185\u5bb9\uff0c\u76f8\u5f53\u4e8e\u8f93\u51faXmlElement\u7684InnerText\u5c5e\u6027\u503c\u3002<\/p>\n<p align=\"left\"><b>xslt<\/b><b>\u6587\u4ef6\uff1a<\/b><\/p>\n<p align=\"left\">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br \/>\n&lt;xsl:stylesheet version=&#8221;1.0&#8243; xmlns:xsl=&#8221;<a href=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\">http:\/\/www.w3.org\/1999\/XSL\/Transform<\/a>&#8221;<br \/>\nxmlns:msxsl=&#8221;urn:schemas-microsoft-com:xslt&#8221; exclude-result-prefixes=&#8221;msxsl&#8221;<br \/>\n&gt;<br \/>\n&lt;xsl:output method=&#8221;xml&#8221; indent=&#8221;yes&#8221; encoding=&#8221;utf-8&#8243;\/&gt;<\/p>\n<p align=\"left\">\u00a0&lt;xsl:template match=&#8221;\/&#8221;&gt;<br \/>\n&lt;xsl:for-each select=&#8221;Category&#8221;&gt;<br \/>\n&lt;Category&gt;<br \/>\n&lt;xsl:attribute name=&#8221;Navigate&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;@Navigate&#8221;\/&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;xsl:element name=&#8221;Name&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;Name&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;EngName&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;EngName&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;ChtName&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;ChtName&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;Description&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;Description&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;EngDescription&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;EngDescription&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;ChtDescription&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;ChtDescription&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;Editor&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;Editor&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;LastModified&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;LastModified&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;Identity&#8221;&gt;<br \/>\n&lt;xsl:text&gt;CAT_ZTF&lt;\/xsl:text&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;Notes&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;Notes&#8221;\/&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:element name=&#8221;TotalCount&#8221;&gt;<br \/>\n&lt;xsl:text&gt;{0}&lt;\/xsl:text&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;xsl:for-each select=&#8221;Content&#8221;&gt;<br \/>\n&lt;xsl:for-each select=&#8221;CatItem&#8221;&gt;<br \/>\n&lt;xsl:element name=&#8221;CatItem&#8221;&gt;<br \/>\n&lt;xsl:attribute name=&#8221;Name&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;@Name&#8221;\/&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;xsl:attribute name=&#8221;Code&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;@Code&#8221;\/&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;xsl:attribute name=&#8221;ParentCode&#8221;&gt;<br \/>\n&lt;xsl:value-of select=&#8221;@ParentCode&#8221;\/&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;xsl:attribute name=&#8221;CategoryType&#8221;&gt;<br \/>\n&lt;xsl:text&gt;CAT_ZTF&lt;\/xsl:text&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;\/xsl:element&gt;<br \/>\n&lt;\/xsl:for-each&gt;<br \/>\n&lt;\/xsl:for-each&gt;<br \/>\n&lt;\/Category&gt;<br \/>\n&lt;\/xsl:for-each&gt;<br \/>\n&lt;\/xsl:template&gt;<br \/>\n&lt;\/xsl:stylesheet&gt;<\/p>\n<p align=\"left\">\n<b>\u539f<\/b><b>XML<\/b><b>\u6587\u4ef6\uff1a<\/b><\/p>\n<p align=\"left\">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;GB2312&#8243;?&gt;<br \/>\n&lt;Category Navigate=&#8221;1&#8243;&gt;<br \/>\n&lt;Name&gt;\u4e13\u7528\u5206\u7c7b&lt;\/Name&gt;<br \/>\n&lt;EngName&gt;New&lt;\/EngName&gt;<br \/>\n&lt;ChtName&gt;\u5c08\u7528\u5206\u985e&lt;\/ChtName&gt;<br \/>\n&lt;Description\/&gt;<br \/>\n&lt;EngDescription\/&gt;<br \/>\n&lt;ChtDescription\/&gt;<br \/>\n&lt;Editor&gt;Liangying&lt;\/Editor&gt;<br \/>\n&lt;LastModified&gt;2010-5-31&lt;\/LastModified&gt;<br \/>\n&lt;Identity&gt;CAT_XXXX&lt;\/Identity&gt;<br \/>\n&lt;Notes&gt;\u4e13\u7528\u5206\u7c7b&lt;\/Notes&gt;<br \/>\n&lt;Content Count=&#8221;97&#8243;&gt;<\/p>\n<p align=\"left\">&lt;CatItem Name=&#8221;\u6587\u827a&#8221; Description=&#8221;&#8221; EngDescription=&#8221;&#8221; ChtDescription=&#8221;&#8221; Code=&#8221;001&#8243; ParentCode=&#8221;&#8221; Nav=&#8221;tttt?={0}&#8221;\/&gt;<br \/>\n&lt;CatItem Name=&#8221;\u5c0f\u8bf4&#8221; Description=&#8221;&#8221; EngDescription=&#8221;&#8221; ChtDescription=&#8221;&#8221; Code=&#8221;001001&#8243; ParentCode=&#8221;001&#8243; Nav=&#8221;tttt?={0}&#8221;\/&gt;<br \/>\n&lt;CatItem Name=&#8221;\u6587\u5b66&#8221; Description=&#8221;&#8221; EngDescription=&#8221;&#8221; ChtDescription=&#8221;&#8221; Code=&#8221;001002&#8243; ParentCode=&#8221;001&#8243; Nav=&#8221;tttt?={0}&#8221;\/&gt;<br \/>\n&lt;CatItem Name=&#8221;\u6563\u6587&#8221; Description=&#8221;&#8221; EngDescription=&#8221;&#8221; ChtDescription=&#8221;&#8221; Code=&#8221;001003&#8243; ParentCode=&#8221;001&#8243; Nav=&#8221;tttt?={0}&#8221;\/&gt;<\/p>\n<p align=\"left\">&lt;\/Content&gt;<br \/>\n&lt;\/Category&gt;<\/p>\n<p align=\"left\">\n<p align=\"left\"><b>\u8f6c\u6362<\/b><b>C#<\/b><b>\u4ee3\u7801\uff1a<\/b><\/p>\n<p align=\"left\">\n<p align=\"left\">\/\/\/ &lt;\/summary&gt;<br \/>\n\/\/\/ &lt;param name=&#8221;strXmlPath&#8221;&gt;&lt;\/param&gt;<br \/>\n\/\/\/ &lt;param name=&#8221;strXsltPath&#8221;&gt;&lt;\/param&gt;<br \/>\n\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<br \/>\npublic string TransferXmlByXSLT(string strXmlPath,string strXsltPath)<br \/>\n{<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MemoryStream fs = new MemoryStream();<br \/>\nstring outputstring = string.Empty;<br \/>\ntry<br \/>\n{<br \/>\n\/\/\u5224\u65ad\u6587\u4ef6\u662f\u5426\u5b58\u5728<br \/>\nif (File.Exists(Server.MapPath(strXmlPath)) &amp;&amp; File.Exists(Server.MapPath(strXsltPath)))<br \/>\n{<br \/>\n\/\/\u52a0\u8f7dxml\u6587\u4ef6<br \/>\nXPathDocument doc = new XPathDocument(strXmlPath);<br \/>\nXslTransform transForm = new XslTransform();<br \/>\n\/\/\u52a0\u8f7dxslt\u6587\u4ef6<br \/>\ntransForm.Load(strXsltPath);<br \/>\nXPathNavigator nav = doc.CreateNavigator();<br \/>\n\/\/\u8f6c\u6362xml<br \/>\ntransForm.Transform(nav, null, fs);<br \/>\nfs.Seek(0, SeekOrigin.Begin);<br \/>\nStreamReader stream = new StreamReader(fs);<br \/>\noutputstring = stream.ReadToEnd();<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 fs.Close();<br \/>\nfs.Dispose();<br \/>\n}<br \/>\nelse<br \/>\n{<br \/>\nreturn &#8220;&#8221;;<br \/>\n}<br \/>\n}<br \/>\nfinally<br \/>\n{<br \/>\nfs.Close();<br \/>\nfs.Dispose();<br \/>\n}<\/p>\n<p align=\"left\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return outputstring;<br \/>\n}<\/p>\n<p align=\"left\">\n<p align=\"left\"><b>\u8f6c\u6362\u540e\u7684<\/b><b>XML:<\/b><\/p>\n<p align=\"left\">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;GB2312&#8243;?&gt;<br \/>\n&lt;Category Navigate=&#8221;1&#8243;&gt;<br \/>\n&lt;Name&gt;\u4e13\u7528\u5206\u7c7b&lt;\/Name&gt;<br \/>\n&lt;EngName&gt;New&lt;\/EngName&gt;<br \/>\n&lt;ChtName&gt;\u5c08\u7528\u5206\u985e&lt;\/ChtName&gt;<br \/>\n&lt;Description\/&gt;<br \/>\n&lt;EngDescription\/&gt;<br \/>\n&lt;ChtDescription\/&gt;<br \/>\n&lt;Editor&gt;Liangying&lt;\/Editor&gt;<br \/>\n&lt;LastModified&gt;2010-5-31&lt;\/LastModified&gt;<br \/>\n&lt;Identity&gt;CAT_XXXX&lt;\/Identity&gt;<br \/>\n&lt;Notes&gt;\u4e13\u7528\u5206\u7c7b&lt;\/Notes&gt;<br \/>\n&lt;TotalCount&gt;{0}&lt;\/TotalCount&gt;<\/p>\n<p align=\"left\">&lt;CatItem Name=&#8221;\u6587\u827a&#8221; Code=&#8221;001&#8243; CategoryType=&#8221;CAT_ZTF&#8221; ParentCode=&#8221;&#8221;\u00a0 \/&gt;<br \/>\n&lt;CatItem Name=&#8221;\u5c0f\u8bf4&#8221; Code=&#8221;001001&#8243; CategoryType=&#8221;CAT_ZTF&#8221; ParentCode=&#8221;001&#8243;\u00a0 \/&gt;<br \/>\n&lt;CatItem Name=&#8221;\u6587\u5b66&#8221; Code=&#8221;001002&#8243; CategoryType=&#8221;CAT_ZTF&#8221; ParentCode=&#8221;001&#8243;\u00a0 \/&gt;<\/p>\n<p align=\"left\">&lt;CatItem Name=&#8221;\u6563\u6587&#8221; Code=&#8221;001003&#8243; CategoryType=&#8221;CAT_ZTF&#8221; ParentCode=&#8221;001&#8243;\u00a0 \/&gt;<\/p>\n<p align=\"left\">&lt;\/Category&gt;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 XSLT\u662f\u4e00\u79cd\u5c06XML\u6587\u6863\u8f6c\u6362\u4e3a\u5176\u4ed6\u6587\u672c\u6587\u6863\u7684\u8bed\u8a00\uff0c\u662f\u5efa\u7acb\u5728XML\u548cXPath\u4e4b\u4e0a\u7684\u56fd\u9645\u6807\u51c6\uff0c\u5185\u5bb9\u6bd4\u8f83 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43,1],"tags":[87],"class_list":["post-701","post","type-post","status-publish","format-standard","hentry","category-open","category-1","tag-xslt"],"_links":{"self":[{"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/posts\/701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=701"}],"version-history":[{"count":2,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/posts\/701\/revisions"}],"predecessor-version":[{"id":703,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=\/wp\/v2\/posts\/701\/revisions\/703"}],"wp:attachment":[{"href":"https:\/\/blog.my0513.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.my0513.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}