绿豆.Net

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

功能:将表数据生成XML文件,显示在浏览器上。

要求:
1、IE浏览器
2、IIS装好
3、SQL Server 2000装好(开始菜单中SQL Server 2000程序组中的"在 IIS 中配置 SQL XML 支持"工具项)
4、数据库新建一个数据库
5、"在 IIS 中配置 SQL XML 支持"工具项进入后,在默认网站中新建一个虚拟目录。
<常规>     添加虚拟目录名,最好和数据库名一致,本地路径是本地计算机上的一个目录
<安全性>   使用Windows集成身份验证方式
<数据源>   指定好要导出的服务器名和数据库名
<设置>     选择"允许 URL 查询"、"允许模板查询"、"允许 XPath"和"允许 POST"选项
<虚拟名称> template(可以是用户指定的任意名称)。在"类型"列表中,选择"模板"。输入路径(例如,C:\Inetpub\Wwwroot\nwind\template,假设与虚拟目录相关联的物理目录下有一个子目录 template,但并不检查该目录是否存在)。单击"保存"按钮保存虚拟名称。

在"虚拟名称"选项卡上,单击"新建"按钮以创建架构类型的虚拟名称。
在"虚拟名称"框内输入schema(可以是用户指定的任意名称)。在"类型"列表中,选择"架构"。输入路径(例如,C:\Inetpub\Wwwroot\nwind\schema,假设与虚拟目录相关联的物理目录下有一个子目录 schema)。单击"保存"按钮保存虚拟名称。


在"虚拟名称"选项卡上,单击"新建"按钮以创建模板和架构类型的虚拟名称。
在"虚拟名称"框内输入 dbobject(可以是用户指定的任意名称)。在"类型"列表中,选择 dbobject。单击"保存"按钮保存虚拟名称。

以上的路径不一定要这样的,这样只是为了便于认。只要是本地的目录都行。

在浏览器地址栏输入url有两种方法显示XML文件
一、地址栏输入  http://localhost/driver?sql=select fullname from person for xml auto&root=root
driver为虚拟目录名
&root=root这个要加上,因为没有顶级结点
二、地址栏输入  http://localhost/driver/template/Template.xml
template是模板类型的虚拟名称
Template.xml放在模板类型的虚拟目录里
Template.xml的内容:
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<myfilds>
    <sql:query>
      SELECT id,fullname
      FROM person
      FOR XML AUTO
    </sql:query>
</myfilds>
</root>
//////////////////////////////////////////////////////////////////////////////
用于将一种格式的XML文件转换为另一种格式的XML文件
//////////////////////////////////////////////////////////////////////////////
<script type="text/javascript">
    <!--
//将XML文件内容写入DOM对象中
        function GetXmlSource(url)
        {
            var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

            xmlHttp.open("GET",url,false);

            xmlHttp.send(null);

            if(xmlHttp.readyState == 4)
            {
                if(xmlHttp.status == 200)
                {
                    var xmlSource   = CreateXMLDOM();
                        xmlSource.load(xmlHttp.responseXML);
                }
                else
                {
                    return null;
                }
            }  
            return xmlSource; 
        }
//用XSLT进行格式转换      
        function XMLChange(url,path)
        {
            var xmlSource   = GetXmlSource(url);
           
            var xmlTemplate = CreateXMLDOM();
                xmlTemplate.load(path);
           
            var xmlChange   = CreateXMLDOM();
                xmlChange.validateOnParse = true;

                xmlChange.loadXML(xmlSource.transformNode(xmlTemplate));
               
            xmlChange.save("D:\\wwwroot\\XmlChange\\XSLTemplate\\Test.xml");
        }
//创建DOM对象       
        function CreateXMLDOM()
        {
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
           
            xmlDoc.async = "false";
           
            return xmlDoc;
        }
        -->
    </script>

posted on 2007-03-27 10:53  杜军  阅读(1948)  评论(0编辑  收藏  举报