首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
用ASP生成XML数据文档(RSS订阅..
asp添加xml节点问题
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
Asp.net+Xml实现无数据库论坛(..
js添加、修改、删除xml节点例子
ASP.NET查找XML节点的几个方法
使用ASP添加xml节点功能
使用asp修改xml中的节点
ASP历遍XML节点与字节点之简单..
ASP向xml文件中的添加节点
ASP遍历XML节点
asp修改xml节点属性
小白ajax定时更新xml数据练习
Ajax核心:XMLHTTP组件相关技术..
远程获取内容,并将内容存在本..
xmlhttp组件获取远程文件并筛选..
XMLHTTP对象及其方法
把HTML表单提交的数据转化成XML..
利用XMLHTTP无刷新添加数据之Po..
Js+Xml:不刷新页面获取对应网址..
xml(元标记语言)学习基础一
Java语言编程中更新XML文档的常..
简析JAVA中的XML编程
XML及其技术指南
XML教程(2)--XML元素与XML属性..
XML教程(1)--严格的语法
从XML到Java代码的数据绑定之一
神奇的XML--突破CGI权限的约束
基于XML的数据库总体分析

技术教程 -> XML教程 ->  
用ASP生成XML数据文档(RSS订阅)
来源:http://www.aspprogram.cn   人气:2635   录入时间:2008/12/29


    在许多网站上看到rss订阅,实现的方法是:
   
   一、必须弄清楚最终需要的是什么
   
    我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://blog.knowsky.com/rss_1.xml 。也可以为asp文档,比如:http://www.knowsky.com/rss.asp?id=42
   
    他们都是XML数据的体现,为了实现XML数据的动态,所以需要使用到动态编程语言,比如ASP来实现生成它。
   
    二、如何生成动态的XML文档
   
    如果是生成XML文件,介于动态文档是ASP格式的,所以必须借助FSO进行XML文件的生成,比如:
   
    以下是引用片段:
    <%
    xmlfile=server.mappath("test1.xml")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set MyFile = fso.CreateTextFile(xmlfile,True)
    MyFile.WriteLine("<?xml version=""1.0"" encoding=""gb2312""?>")
    MyFile.WriteLine("<世界>")
    MyFile.WriteLine("<你好>hello,world</你好>")
    MyFile.WriteLine("</世界>")
    MyFile.Close
    %>
   
    <a href="test1.xml">查看XML文件内容</a>
   
    有关FSO的操作参看
    http://www.knowsky.com/tag-7.html
   
    如果按照生成动态的XML数据文件来说,则是将MyFile.WriteLine的相关内容在动态文档中通过程式的手段来控制XML节点的名称和值即可。
   
    三、如何使用动态文档生成XML数据
   
    那如果不是生成XML文件,直接在动态文档上输出XML数据呢,须声明文件的类型(即Response.ContentType)
   
    <%Response.ContentType = "text/XML"%>
   
    比如直接浏览如下的动态ASP文档,在浏览器中下则显示为XML数据树
   
    以下是引用片段:
    <%
    With Response
    .ContentType = "text/XML"
    .write("<?xml version=""1.0"" encoding=""gb2312""?>")
    .write("<世界>")
    .write("<你好>hello,world</你好>")
    .write("</世界>")
    End with
    %>
   
   
    生成的XML文件,其优势就是处理该XML数据的文档可以是静态文档,比如HTML文件通过javascript、XMLDOM来解析XML,同时也易于数据的保留,而动态文档上的动态XML数据则没有这样有点。不过,在如今动态文档无处不在用的时代,似乎这个优势对于一些应用来说是无甚影响,甚至来说,动态文档的XML数据流反而更具优势:更及时、更动态。
   
    四、生成XML数据就是这样行了吗?
   
    无论是通过生成具体的XML文件,还是动态的XML数据流,只要按照XML的格式输出相关XML节点和值就可以了,这样看来XML似乎很简单。但这并没有真正接触到XML的操作。在我们看来,这些XML无非就是一些成对的标签和相关字符组成的数据记录,毫无生命力可言。然而事实上,通过XMLDOM来操作XML则显示了XML的绝对优势(这点在生成XML时优势不明显,却在添加、删除XML节点时体验无限)。
   
    使用XMLDOM创建XML文档,可使用Save方法生成XML文档,使用createElement方法创建XML元素、createNode创建节点,其实对于XML中的任何标签的创建都可以任意选择其中的一种,不过一般使用createElement创建顶层(根)元素,使用createNode创建子节点(元素),当然createElement和createNode的使用方法也是不同。
   
   
    以下是引用片段:
    <%
    Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
    Set world=objXMLdoc.createElement("世界")
    objXMLdoc.appendChild(world)
    Set hello=objXMLdoc.createNode("element", "你好", "")
    hello.Text = "hello,world"
    objXMLdoc.documentElement.appendChild(hello)
    objXMLdoc.Save Server.MapPath("test2.xml")
    Set objXMLdoc = Nothing
    %>
   
    CreateObject("Microsoft.XMLDOM") 声明使用XMLDOM对象
    在元素或节点被建立(createElement、createNode)时,其并没有加到文件树中,若要将节点加到文件树中,则需要插入,如appendChild。
    xmlDocument.createNode(type, name, nameSpaceURI) 表示建立一个指定型态、名称,及命名空间的新节点
    type 用来确认要被建立的节点型态,name 是一个字符串来确认新节点的名称,命名空间的前缀则是选择性的。nameSpaceURI 是一个定义命名空间URI 的字符串。如果前缀被包含在名称参数中,此节点会在nameSpaceURI 的内文中以指定的前缀建立。如果不包含前缀,指定的命名空间会被视为预设的命名空间。
    objXMLdoc.createNode("element", "你好", "") 等同于 objXMLdoc.createElement("你好")
    4,objXMLdoc.documentElement.appendChild(hello)其实就是XML文档根元素下建立节点,在本例中等同于 world.appendChild(hello),world为本例中的节点名,以此类推。
    所以可以这样来写:
   
   
    以下是引用片段:
    <%
    Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
    Set world=objXMLdoc.createElement("世界")
    objXMLdoc.appendChild(world)
    Set hello=objXMLdoc.createElement("你好")
    hello.Text = "hello,world"
    world.appendChild(hello)
    objXMLdoc.Save Server.MapPath("test2.xml")
    Set objXMLdoc = Nothing
    %>
   
   
    需要注意的是,通过XMLDOM生成的XML文件都是UTF-8格式的,这对我们所有应用程序文件的UTF-8化作了很好的推介。
   
    总结
   
    生成XML数据,可以使用FSO,如FSO被禁用,可使用XMLDOM,当然还可以直接使用动态文档。不过如果融会贯通地掌握XML的操作,XMLDOM操作是必须的。
   



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号