如何用ASP生成XML数据文档(RSS订阅)

2016-02-19 19:31 15 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的如何用ASP生成XML数据文档(RSS订阅),手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

  一、必须弄清楚最终需要的是什么

  我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://blog.cnd8.com/rss_1.xml 。也可以为asp文档,比如:http://school.cnd8.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://school.cnd8.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数据流反而更具优势:更及时、更动态。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  四、生成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
  %
   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  需要注意的是,通过XMLDOM生成的XML文件都是UTF-8格式的,这对我们所有应用程序文件的UTF-8化作了很好的推介。

  总结

  生成XML数据,可以使用FSO,如FSO被禁用,可使用XMLDOM,当然还可以直接使用动态文档。不过如果融会贯通地掌握XML的操作,XMLDOM操作是必须的。

来源:http://www.tulaoshi.com/n/20160219/1621222.html

延伸阅读
今天看到:WebLeOn's Blog: 拥抱RSS,之前层出不穷的客户端RSS订阅工具要小心了,“缺省”威力目前还是很大的。相比之下我感觉在线的RSS订阅无疑会成为以后更有前景的模式。BlogLines就是目前人气较高的RSS在线订阅服务之一。 我使用BlogLines比较少,BlogLines缺省的按照作者分类的RSS阅读模式效率不高,还是...
SqlConnection conn = new SqlConnection();       conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=fdahgdrethj31313210212121;Database=northwind;Persist Security Info=True";       conn.Open();  &nb...
标签: PHP
  摘要 本论文简要介绍了PHP、XML、PDF等技术的原理以及它们的应用情况。力图运用PHP面向对象的特性,构建出一套基于PHP和XML的在线PDF文档生成系统。文中详细探讨了整个系统的组成部分以及各自的实现过程。并在最后给出一个运用这套系统实现的动态创建报表的实例。 Abstract This article introduced the fundamentls of PHP...
标签: 浏览器
世界之窗浏览器如何订阅RSS新闻详解   什么是RSS新闻 RSS是指一种信息聚合的技术。大量网站都会提供基于RSS技术的新闻订阅服务,以便您能快速了解该网站上最近更新的内容。您如果订阅了某个网站的RSS新闻,就可以在订阅夹中及时了解该网站上最新的内容。   我是否需要订阅RSS新闻 若您经常浏览某个网站,并...
标签: ASP
  本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法。由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的处理必须在服务器端进行。要编辑XML文档,首先要做的事情就是怎样把这些数据提取并显示给访问者,XSL为我们显示XML文件提供了一个很好的解决方案。下面的例子就是利用XSL样式单把XML文档显示出来,供...

经验教程

225

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部