|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
使用 XML 模板 下面是模板的一般形式,显示了指定 SQL 查询和 XPath 查询的方法: <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl=\\\'XSL FileName\\\' > <sql:header> <sql:param>..</sql:param> <sql:param>..</sql:param>...n </sql:header> <sql:query> sql statement(s) </sql:query> <sql:xpath-query mapping-schema="SchemaFileName.xml"> XPath query </sql:xpath-query> </ROOT> 模板中的任何元素都是可选的。元素 <header>、<param>、<query>、<XPath-query> 和特性映射架构在 sql 命名空间中定义。因此,必须在命名空间中声明 xmlns:sql="urn:schemas-microsoft-com:xml-sql"。可对命名空间任意命名;sql 只是一个别名。 <ROOT> 指定此标记以提供所得到的 XML 文档的单个顶层元素(也称为根标记)。<ROOT> 标记可以是任何名称。 <sql:header> 此标记用于保存所有标题值。在目前的实施方案中,只能在此标记中指定 <sql:param> 元素。<sql:header> 用作包含标记,使您得以定义多个参数。所有的参数定义都在一个位置中,这使得处理参数定义更有效。 <sql:param> 该元素用于定义在模板内传递到查询的参数。每个 <param> 元素定义一个参数。可以在 <sql:header> 标记中定义多个 <param> 元素。 <sql:query> 该元素用于指定 SQL 查询。可以在模板中指定多个 <sql:query> 元素。 <sql:xpath-query> 该元素用于指定 XPath 查询。因为 XPath 查询是在带批注的 XML 数据简化 (XDR) 架构上执行,所以必须使用 mapping-schema 特性指定架构文件名。 sql:xsl 该特性用于指定将应用于所得到的 XML 文档的可扩展样式表语言 (XSL) 样式表。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,假如与 template 类型的虚拟名称相关联的目录是 C:Template,那么为 sql:xsl 指定的相对路径 Xyz/MyXSL.xml 将映射到 C:TemplateXyzMyXSL.xml。 mapping-schema 该特性用于标识带批注的 XDR 架构。仅当在模板中执行 XPath 查询时才指定该特性。XPath 查询在带批注的 XDR 架构上执行。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,假如与 template 类型的虚拟名称关联的目录是 C:Template,则相对路径(为 mapping-schema 指定的 schema/MSchema.xml)映射到 C:TemplateSchemaMSchema.xml。 说明 每个 <sql:query> 或 <sql:XPath-query> 表示单独的事务。因此,假如在模板中有多个 <sql:query> 或 <sql:XPath-query> 标记,当一个标记失败时,其它标记将继承。 假如设置了 contenttype,则 Sqlisapi.dll 将标题信息返回给浏览器。假如没有设置 contenttype,则 urlmon 使用模板文件中的第一个字符确定内容类型。假如模板中的第一个字符是 < 字符或 Unicode 字节顺序标志 (0xFFFE),则将 text/xml 作为内容类型返回给浏览器,且浏览器显示结果。否则,Sqlisapi.dll 不发送用以指导浏览器如何显示结果的内容类型标题信息;因此,在浏览器中将看不到结果。 可以在 URL 模板中指定模板之前,必须使用用于 SQL Server 的 IIS 虚拟目录治理实用工具创建 template 类型的虚拟名称。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录治理实用工具。 存储模板 模板存储在与 template 类型的虚拟名称关联的目录或它的一个子目录中: 假如模板存储在与 template 类型的虚拟名称关联的目录中,则 URL 查询的形式如下: http://IISServer/nwind/TemplateVirtualName/TemplateFile.xml 假如模板存储在与 template 类型 (xyz) 的虚拟名称关联的子目录中,则 URL 查询的形式如下: http://IISServer/nwind/TemplateVirtualName/xyz/TemplateFile.xml在模板中指定 XSL 样式表可以对查询结果应用可扩展样式表语言 (XSL) 样式表。当使用 HTTP 执行模板时,可以用下列方式指定 XSL 文件: 在模板中使用 sql:xsl 特性。使用 xsl 要害字作为 URL 的一部分,以指定将用于处理所得到的 XML 数据的 XSL 文件。 假如在模板中使用 sql:xsl 指定 XSL 文件并且在 URL 中使用要害字 xsl 指定 XSL 文件,则先对结果应用在模板中指定的 XSL 样式表,然后应用在 URL 中指定的 XSL 文件。示例在下列示例中,nwind 是使用用于 SQL Server 的 IIS 虚拟目录治理实用工具创建的虚拟目录,template 是创建虚拟目录时定义的 template 类型的虚拟名称(创建虚拟目录时可以为其指定任何虚拟名称)。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录治理实用工具。A. 在模板中指定 sql:xsl 以处理结果在下例中,模板包含简朴的 SELECT 语句。按照使用 sql:xsl 指定的 XSL 文件中的说明处理查询结果。<?xml version =\\\'1.0\\\' encoding=\\\'UTF-8\\\'?> <root xmlns:sql=\\\'urn:schemas-microsoft-com:xml-sql\\\' sql:xsl=\\\'MyXSL.xsl\\\'> <sql:query> SELECT FirstName, LastName FROM Employees FOR XML AUTO </sql:query> </root> 为举例说明,将模板 (TemplateWithXSL.xml) 存储在与 template 类型的虚拟名称 (template) 关联的目录中。XSL 文件 (MyXSL.xsl) 也存储在同一目录中。下面是 XSL 文件:<?xml version=\\\'1.0\\\' encoding=\\\'UTF-8\\\'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match = \\\'Employees\\\'> <TR> <TD><xsl:value-of select = \\\'@FirstName\\\' /></TD> <TD><B><xsl:value-of select = \\\'@LastName\\\' /></B></TD> </TR> </xsl:template> <xsl:template match = \\\'/\\\'> <HTML> <HEAD> <STYLE>th { background-color: #CCCCCC }</STYLE> </HEAD> <BODY> <TABLE border=\\\'1\\\' style=\\\'width:300;\\\'> <TR><TH colspan=\\\'2\\\'>Employees</TH></TR> <TR><TH >First name</TH><TH>Last name</TH></TR> <xsl:apply-templates select = \\\'root\\\' /> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> 下面的 URL 执行模板:http://IISServer/nwind/template/TemplateWithXSL.xml?contenttype=text/html结果以两列表的格式(FirstName 和 LastName)显示。还可在 URL 中指定 XSL 文件,而不是在模板中(使用 sql:xsl)指定该文件。在这种情况下,XSL 文件必须存储在与虚拟根 (nwind) 或其子目录关联的目录中,此时必须在 URL 中指定相对路径。假设 XSL 文件存储在与 nwind 虚拟目录关联的目录中,则下面的 URL 执行模板:http://IISServer/nwind/template/templateFile.xml?xsl=MyXSL.xsl 假如 XSL 文件存储在虚拟根目录的一个子目录 (x) 中,则下面的 URL 这样指定相对路径:http://IISServer/nwind/template/templateFile.xml?xsl=/x/MyXSL.xsl 假如在模板中使用 sql:xsl 并且在 URL 中使用要害字 xsl 指定 XSL 文件,则在模板中指定的 XSL 样式表首先应用于结果,然后应用在 URL 中指定的 XSL 文件。 示例 XPath 查询 本示例 XPath 查询引用下面两个映射架构。映射架构是带批注的简化 XML-Data (XDR) 架构。有关映射架构的更多信息,请参见使用带批注的 XDR 架构创建 XML 视图。 说明 在可以使用 URL 执行示例 XPath 查询前,必须创建虚拟根以访问 Northwind 数据库和 template 及 schema 类型的虚拟名称。有关创建示例 nwind 虚拟目录和虚拟名称的信息,请参见创建 nwind 虚拟目录。有关使用 HTTP 访问 Microsoft® SQL Server™ 的更多信息,请参见使用 HTTP 访问 SQL Server。 有两种方式可对带批注的 XDR 架构执行 XPath 查询: 创建一个模板,在其中包含一个 XPath 查询。然后在 URL(例如 http://IISServer/VirtualRoot/TemplateVirtualName/TemplateFile.xml)中执行该模板。在该模板中,指定将对其执行 XPath 查询的映射架构。在这种情况下,必须将映射架构存储到与 template 类型的虚拟名称相关联的目录(或它的一个子目录,此时将某相对路径指定为模板内 mapping-schema 特性的值)下。 可直接在 URL(例如 http://IISServer/VirtualRoot/SchemaVirtualName/SchemaFile.xml/XpathQuery)中指定 XPath 查询。在这种情况下,必须将架构文件存储到与 schema 类型的虚拟名称相关联的目录下。 示例带批注的 XDR 架构 在本节的所有示例中,为了说明,将在模板中指定 XPath 查询,并使用 HTTP 执行该模板。因此,必须使用此映射架构文件 (SampleSchema1.xml),它保存在与 template 类型虚拟名称相关联的目录下: <?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="Customer" sql:relation="Customers"> <AttributeType name="CustomerID" dt:type="id" /> <AttributeType name="CompanyName" /> <AttributeType name="ContactName" /> <AttributeType name="City" /> <AttributeType name="Fax" /> <AttributeType name="Orders" dt:type="idrefs" sql:id-prefix="Ord-" /> <attribute type="CustomerID" /> <attribute type="CompanyName" /> <attribute type="ContactName" /> <attribute type="City" /> <attribute type="Fax" /> <attribute type="Orders" sql:relation="Orders" sql:field="OrderID"> <sql:relationship key-relation="Customers" key="CustomerID" foreign-relation="Orders" foreign-key="CustomerID" /> </attribute> <element type="Order"> <sql:relationship key-relation="Customers" key="CustomerID" foreign-relation="Orders" foreign-key="CustomerID" /> </element> </ElementType> <ElementType name="Order" sql:relation="Orders"> <AttributeType name="OrderID" dt:type="id" sql:id-prefix="Ord-" /> <AttributeType name="EmployeeID" /> <AttributeType name="OrderDate" /> <AttributeType name="RequiredDate" /> <AttributeType name="ShippedDate" /> <attribute type="OrderID" /> <attribute type="EmployeeID" /> <attribute type="OrderDate" /> <attribute type="RequiredDate" /> <attribute type="ShippedDate" /> <element type="OrderDetail"> <sql:relationship key-relation="Orders" key="OrderID" foreign-relation="[Order Details]" foreign-key="OrderID" /> </element> </ElementType> <ElementType name="OrderDetail" sql:relation="[Order Details]" sql:key-fields="OrderID ProductID"> <AttributeType name="ProductID" dt:type="idref" sql:id-prefix="Prod-" /> <AttributeType name="UnitPrice"/> <AttributeType name="Quantity" /> <attribute type="ProductID" /> <attribute type="UnitPrice" sql:field="UnitPrice" /> <attribute type="Quantity" /> <element type="Discount" sql:field="Discount"/> </ElementType> <ElementType name="Discount" dt:type="string" sql:relation="[Order Details]"/> <ElementType name="Employee" sql:relation="Employees"> <AttributeType name="EmployeeID" /> <AttributeType name="LastName" /> <AttributeType name="FirstName" /> <AttributeType name="Title" /> <attribute type="EmployeeID" /> <attribute type="LastName" /> <attribute type="FirstName" /> <attribute type="Title" /> </ElementType> </Schema> 说明 按查询所执行的 XPath 操作类型将示例查询分组。 使用 XML 模板 下面是模板的一般形式,显示了指定 SQL 查询和 XPath 查询的方法: <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl=\\\'XSL FileName\\\' > <sql:header> <sql:param>..</sql:param> <sql:param>..</sql:param>...n </sql:header> <sql:query> sql statement(s) </sql:query> <sql:xpath-query mapping-schema="SchemaFileName.xml"> XPath query </sql:xpath-query> </ROOT> 模板中的任何元素都是可选的。元素 <header>、<param>、<query>、<XPath-query> 和特性映射架构在 sql 命名空间中定义。因此,必须在命名空间中声明 xmlns:sql="urn:schemas-microsoft-com:xml-sql"。可对命名空间任意命名;sql 只是一个别名。 <ROOT> 指定此标记以提供所得到的 XML 文档的单个顶层元素(也称为根标记)。<ROOT> 标记可以是任何名称。 <sql:header> 此标记用于保存所有标题值。在目前的实施方案中,只能在此标记中指定 <sql:param> 元素。<sql:header> 用作包含标记,使您得以定义多个参数。所有的参数定义都在一个位置中,这使得处理参数定义更有效。 <sql:param> 该元素用于定义在模板内传递到查询的参数。每个 <param> 元素定义一个参数。可以在 <sql:header> 标记中定义多个 <param> 元素。 <sql:query> 该元素用于指定 SQL 查询。可以在模板中指定多个 <sql:query> 元素。 <sql:xpath-query> 该元素用于指定 XPath 查询。因为 XPath 查询是在带批注的 XML 数据简化 (XDR) 架构上执行,所以必须使用 mapping-schema 特性指定架构文件名。 sql:xsl 该特性用于指定将应用于所得到的 XML 文档的可扩展样式表语言 (XSL) 样式表。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,假如与 template 类型的虚拟名称相关联的目录是 C:Template,那么为 sql:xsl 指定的相对路径 Xyz/MyXSL.xml 将映射到 C:TemplateXyzMyXSL.xml。 mapping-schema 该特性用于标识带批注的 XDR 架构。仅当在模板中执行 XPath 查询时才指定该特性。XPath 查询在带批注的 XDR 架构上执行。在指定映射架构文件时,可以指定相对或绝对路径。指定的相对路径是相对于与 template 类型的虚拟名称关联的目录。例如,假如与 template 类型的虚拟名称关联的目录是 C:Template,则相对路径(为 mapping-schema 指定的 schema/MSchema.xml)映射到 C:TemplateSchemaMSchema.xml。 说明 每个 <sql:query> 或 <sql:XPath-query> 表示单独的事务。因此,假如在模板中有多个 <sql:query> 或 <sql:XPath-query> 标记,当一个标记失败时,其它标记将继承。 假如设置了 contenttype,则 Sqlisapi.dll 将标题信息返回给浏览器。假如没有设置 contenttype,则 urlmon 使用模板文件中的第一个字符确定内容类型。假如模板中的第一个字符是 < 字符或 Unicode 字节顺序标志 (0xFFFE),则将 text/xml 作为内容类型返回给浏览器,且浏览器显示结果。否则,Sqlisapi.dll 不发送用以指导浏览器如何显示结果的内容类型标题信息;因此,在浏览器中将看不到结果。 可以在 URL 模板中指定模板之前,必须使用用于 SQL Server 的 IIS 虚拟目录治理实用工具创建 template 类型的虚拟名称。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录治理实用工具。 存储模板 模板存储在与 template 类型的虚拟名称关联的目录或它的一个子目录中: 假如模板存储在与 template 类型的虚拟名称关联的目录中,则 URL 查询的形式如下: http://IISServer/nwind/TemplateVirtualName/TemplateFile.xml 假如模板存储在与 template 类型 (xyz) 的虚拟名称关联的子目录中,则 URL 查询的形式如下: http://IISServer/nwind/TemplateVirtualName/xyz/TemplateFile.xml在模板中指定 XSL 样式表可以对查询结果应用可扩展样式表语言 (XSL) 样式表。当使用 HTTP 执行模板时,可以用下列方式指定 XSL 文件: 在模板中使用 sql:xsl 特性。使用 xsl 要害字作为 URL 的一部分,以指定将用于处理所得到的 XML 数据的 XSL 文件。 假如在模板中使用 sql:xsl 指定 XSL 文件并且在 URL 中使用要害字 xsl 指定 XSL 文件,则先对结果应用在模板中指定的 XSL 样式表,然后应用在 URL 中指定的 XSL 文件。示例在下列示例中,nwind 是使用用于 SQL Server 的 IIS 虚拟目录治理实用工具创建的虚拟目录,template 是创建虚拟目录时定义的 template 类型的虚拟名称(创建虚拟目录时可以为其指定任何虚拟名称)。有关更多信息,请参见使用用于 SQL Server 的 IIS 虚拟目录治理实用工具。A. 在模板中指定 sql:xsl 以处理结果在下例中,模板包含简朴的 SELECT 语句。按照使用 sql:xsl 指定的 XSL 文件中的说明处理查询结果。<?xml version =\\\'1.0\\\' encoding=\\\'UTF-8\\\'?> <root xmlns:sql=\\\'urn:schemas-microsoft-com:xml-sql\\\' sql:xsl=\\\'MyXSL.xsl\\\'> <sql:query> SELECT FirstName, LastName FROM Employees FOR XML AUTO </sql:query> </root> 为举例说明,将模板 (TemplateWithXSL.xml) 存储在与 template 类型的虚拟名称 (template) 关联的目录中。XSL 文件 (MyXSL.xsl) 也存储在同一目录中。下面是 XSL 文件:<?xml version=\\\'1.0\\\' encoding=\\\'UTF-8\\\'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match = \\\'Employees\\\'> <TR> <TD><xsl:value-of select = \\\'@FirstName\\\' /></TD> <TD><B><xsl:value-of select = \\\'@LastName\\\' /></B></TD> </TR> </xsl:template> <xsl:template match = \\\'/\\\'> <HTML> <HEAD> <STYLE>th { background-color: #CCCCCC }</STYLE> </HEAD> <BODY> <TABLE border=\\\'1\\\' style=\\\'width:300;\\\'> <TR><TH colspan=\\\'2\\\'>Employees</TH></TR> <TR><TH >First name</TH><TH>Last name</TH></TR> <xsl:apply-templates select = \\\'root\\\' /> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> 下面的 URL 执行模板:http://IISServer/nwind/template/TemplateWithXSL.xml?contenttype=text/html结果以两列表的格式(FirstName 和 LastName)显示。还可在 URL 中指定 XSL 文件,而不是在模板中(使用 sql:xsl)指定该文件。在这种情况下,XSL 文件必须存储在与虚拟根 (nwind) 或其子目录关联的目录中,此时必须在 URL 中指定相对路径。假设 XSL 文件存储在与 nwind 虚拟目录关联的目录中,则下面的 URL 执行模板:http://IISServer/nwind/template/templateFile.xml?xsl=MyXSL.xsl 假如 XSL 文件存储在虚拟根目录的一个子目录 (x) 中,则下面的 URL 这样指定相对路径:http://IISServer/nwind/template/templateFile.xml?xsl=/x/MyXSL.xsl 假如在模板中使用 sql:xsl 并且在 URL 中使用要害字 xsl 指定 XSL 文件,则在模板中指定的 XSL 样式表首先应用于结果,然后应用在 URL 中指定的 XSL 文件。 示例 XPath 查询 本示例 XPath 查询引用下面两个映射架构。映射架构是带批注的简化 XML-Data (XDR) 架构。有关映射架构的更多信息,请参见使用带批注的 XDR 架构创建 XML 视图。 说明 在可以使用 URL 执行示例 XPath 查询前,必须创建虚拟根以访问 Northwind 数据库和 template 及 schema 类型的虚拟名称。有关创建示例 nwind 虚拟目录和虚拟名称的信息,请参见创建 nwind 虚拟目录。有关使用 HTTP 访问 Microsoft® SQL Server™ 的更多信息,请参见使用 HTTP 访问 SQL Server。 有两种方式可对带批注的 XDR 架构执行 XPath 查询: 创建一个模板,在其中包含一个 XPath 查询。然后在 URL(例如 http://IISServer/VirtualRoot/TemplateVirtualName/TemplateFile.xml)中执行该模板。在该模板中,指定将对其执行 XPath 查询的映射架构。在这种情况下,必须将映射架构存储到与 template 类型的虚拟名称相关联的目录(或它的一个子目录,此时将某相对路径指定为模板内 mapping-schema 特性的值)下。 可直接在 URL(例如 http://IISServer/VirtualRoot/SchemaVirtualName/SchemaFile.xml/XpathQuery)中指定 XPath 查询。在这种情况下,必须将架构文件存储到与 schema 类型的虚拟名称相关联的目录下。 示例带批注的 XDR 架构 在本节的所有示例中,为了说明,将在模板中指定 XPath 查询,并使用 HTTP 执行该模板。因此,必须使用此映射架构文件 (SampleSchema1.xml),它保存在与 template 类型虚拟名称相关联的目录下: <?xml version="1.0" ?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="Customer" sql:relation="Customers"> <AttributeType name="CustomerID" dt:type="id" /> <AttributeType name="CompanyName" /> <AttributeType name="ContactName" /> <AttributeType name="City" /> <AttributeType name="Fax" /> <AttributeType name="Orders" dt:type="idrefs" sql:id-prefix="Ord-" /> <attribute type="CustomerID" /> <attribute type="CompanyName" /> <attribute type="ContactName" /> <attribute type="City" /> <attribute type="Fax" /> <attribute type="Orders" sql:relation="Orders" sql:field="OrderID"> <sql:relationship key-relation="Customers" key="CustomerID" foreign-relation="Orders" foreign-key="CustomerID" /> </attribute> <element type="Order"> <sql:relationship key-relation="Customers" key="CustomerID" foreign-relation="Orders" foreign-key="CustomerID" /> </element> </ElementType> <ElementType name="Order" sql:relation="Orders"> <AttributeType name="OrderID" dt:type="id" sql:id-prefix="Ord-" /> <AttributeType name="EmployeeID" /> <AttributeType name="OrderDate" /> <AttributeType name="RequiredDate" /> <AttributeType name="ShippedDate" /> <attribute type="OrderID" /> <attribute type="EmployeeID" /> <attribute type="OrderDate" /> <attribute type="RequiredDate" /> <attribute type="ShippedDate" /> <element type="OrderDetail"> <sql:relationship key-relation="Orders" key="OrderID" foreign-relation="[Order Details]" foreign-key="OrderID" /> </element> </ElementType> <ElementType name="OrderDetail" sql:relation="[Order Details]" sql:key-fields="OrderID ProductID"> <AttributeType name="ProductID" dt:type="idref" sql:id-prefix="Prod-" /> <AttributeType name="UnitPrice"/> <AttributeType name="Quantity" /> <attribute type="ProductID" /> <attribute type="UnitPrice" sql:field="UnitPrice" /> <attribute type="Quantity" /> <element type="Discount" sql:field="Discount"/> </ElementType> <ElementType name="Discount" dt:type="string" sql:relation="[Order Details]"/> <ElementType name="Employee" sql:relation="Employees"> <AttributeType name="EmployeeID" /> <AttributeType name="LastName" /> <AttributeType name="FirstName" /> <AttributeType name="Title" /> <attribute type="EmployeeID" /> <attribute type="LastName" /> <attribute type="FirstName" /> <attribute type="Title" /> </ElementType> </Schema> 说明 按查询所执行的 XPath 操作类型将示例查询分组。 返回类别: 教程 上一教程: 关于BUILDDOC函数的一点改进,增强分页打印效果 下一教程: 股票报价的WEBSERVICE之二 您可以阅读与"使用 XML 模板"相关的教程: · 使用XMLHTTP制作域名查询系统 · 使用ASP、VB和XML建立运行于互联网上的应用程序 · 在基于MOZILLA的浏览器中使用XMLHTTPREQUEST对象 · 在不支持FSO的服务器上使用XMLDOM创建HTML文件 · 使用XMLHTTP和ADODB.STREAM取得远程文件并保存到本地 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |