首页 > 语言 > 关键词 > XML最新资讯 > 正文

网络编程:如何生成XML数据

2007-04-20 16:25 · 稿源:蓝色理想

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


  我们通过asp或其他动态编程语言,最终需要的是XML格式的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:https://www.dw8.cn/common/dw8.xml 。也可以为asp文档,比如:https://www.cnbruce.com/blog/rss2.asp


  他们都是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>


  如果按照生成动态的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操作是必须的。

  • 相关推荐
  • 大家在看
  • 风变编程:失业潮下,编程如何改变人类的生活和工作方式?

    去年年底,网上流传过一个段子:2019年可能会是过去十年里最差的一年,但却是未来十年里最好的一年。如今看来,段子已成现实。4月17日,国家统计局公布,今年一季度GDP为20.65万亿元,同比下降6.8%;后来,关于万达、蘑菇街各大企业纷纷“调整人事架构”的消息不胫而走。国外形势也不容乐观。截至目前,美国失业人数达到2200万,相当于全国约1/7的员工。无论如何,风变编程认为,这次突发的疫情像是给温水煮青蛙的人们提了个醒:千

  • Python有望超越Java排第二?风变编程解析编程语言新趋势

    随着人工智能时代的来临,编程语言的热度居高不下,随着智能机器人的出现,在2020年更是迎来一波新的高峰。在这样的大环境下,关于谁是人工智能最流行编程语言的讨论也十分热烈,C、C++、Java、Python等编程语言不断被拿出来做比较。那么接下来,风变编程来解析一波当下编程语言的新趋势。Python受欢迎度有望超越Java?近日,TIOBE编程语言社区公布了2020年10月编程语言排行榜。榜单数据显示,Python的受欢迎程度十分逼近排在第二?

  • 首都科普联合行动科技企业开放日之特色活动 编程猫科技编程创作日——“中华小厨神”

    当中华厨师遇上编程,会产生怎么样的火花呢?今天,小编来到了编程猫科技的编程创作日的现场。这个活动可不简单,叫“中华小厨神”。为了让参观者感受图形化编程的奥妙和乐趣,特开展本次编程猫科普日线下活动。此次活动让参观者通过体验一款制作月饼的线上互动游戏后,编程完成此款游戏软件作品。活动开始啦!!!下午两点钟,活动准时开始,讲解小姐姐先带我们了解点猫是一家什么样的企业,参观了公司内部。不过讲解小姐姐也知道我们对这些不

  • 十年后可能消失的五种编程语言

    随着时间的流逝,程序员们发现了更新、更简单的工作方式,新的编程语言如雨后春笋般出现,但只有少数编程语言能成为社区的新宠。这种进步的一个副作用是一些古老的编程语言必然会跟历史一样被人们遗忘。如果一个编程语言无法随着时间的推移提升其价值,那么它的用户群终将会流失,并逐渐淡出人们的视线,或者成为更新一代编程语言的基础。

  • 起底小码王社区编程达人:信息课女学霸如何养成

    近日,备受瞩目的“编程吧,少年”全国青少年编程大赛正式公布全国赛入围选手名单。 200 位最优秀的编程少年从数万名城市赛选手中脱颖而出,在赢得终极对决入场券的同时,吸引了大众的目光。更引人注目的是,晋级名单还有不少的女选手。许多人总觉得,男孩更擅长编程方面的学习,但其实编程在对人的思维方式的塑造上是不分男女的。这些女选手用自己出众的成绩向所有人证明——女孩子学编程,一样很优秀。胡瑜辰是本次“编程吧,少?

  • 从逃离到成为游戏开发,40岁了我才学会编程

    尽管我早在小学的时候就电脑玩得如鱼得水,似乎注定要进入 IT 行业,但后来却经历了屡次失败。今年,当我步入四十不惑时,我终于学会了编程。也许我的经历会让你明白:只要你想开始,就永远不会晚。有时候,你只需要找到适合自己的语言。

  • 为什么Java、Python会成为程序员最害怕的编程语言?

    最不受欢迎 / 最令人畏惧的编程语言有哪些?这些编程语言为什么令人畏惧?对它们的评价是否公正?在 StackOverflow 的 2020 年度开发者调查中,有一张表格,显示的是“最受欢迎、最令人畏惧和最想要的编程语言”。最受欢迎的和最想要的编程语言,嗯,是有点无聊。倒是那个最令人畏惧的就有意思多了。正如托尔斯泰(Tolstoy)所说的:“幸福的家庭都是相似的,而不幸的家庭则各有各的不幸。”

  • 极客晨星解读:孩子学习少儿编程的优势在哪里

    当前社会,人工智能热度不断攀升,少儿编程成了当下儿童教育市场的热门方向。少儿编程学习初期主要培养孩子编程兴趣,旨在调动孩子学习积极性,所以家长不用担心孩子跟不上学习内容。虽然少儿编程入门不难,但是少儿编程学习是有门槛的,不是任何年龄阶段的孩子都适合。 等到孩子 6 岁以后在正式进入少儿编程培训机构,如果想让孩子趁早接触编程,可以在孩子5- 6 岁期间,开始学习少儿编程的课程,让孩子先熟悉编程改变及规则,有

  • “编程吧,少年”全国赛结果揭晓,小码王学员斩获超半数大奖

    10 月 4 日,“编程吧,少年”全国赛颁奖典礼在杭州如期举行,大赛 4 大组别TOP1 选手、 9 大特色奖项和最佳合作机构奖悉数揭晓,编程少年游学班顺利起航,“小候鸟计划”正式启动,为这场万众瞩目的全国青少年编程大赛画下圆满句号。其中,小码王学员余睿迪、邬博丞包揽Python小学组及中学组TOP1 荣誉,宫伯雍、刘简安、黄文豪、涂奥宇、李宗灿分获 5 项大赛特色奖项,将最高 5 万元的赛事奖金、获奖证书和编程少年游学班名额收入

  • 高效学风变编程Python,解锁不一样的职场进阶之路

    今年,很多人在问一个问题:到底什么才是抗风险能力?稳定的工作?存款?理财?有人预测:“到2030年,今天一半的工作岗位都将消失。”关于哪些工作最先消失,李开复提出过“五秒钟准则”:一项工作如果可以在5秒钟内作出相应决定,那就非常可能被人工智能取代。AI的发展早已超过我们的想象:气象播报、智能交通、无人酒店、无人超市、无人驾驶...... 人工智能都出色地完成。因此,在风变编程看来,真正的抗风险能力应该是一项不论

  • 极客晨星少儿编程小学员妈妈:幸福的人用童年治愈一生

    童年,是一个人窥探这个世界、直面生活的最初窗口。教育孩子最重要的理念就是爱和陪伴,“幸福的人用童年治愈一生,不幸的人用一生治愈童年”。让孩子爱上学习的同时,也要有一个健康阳光的心灵。而这一切的基础是家庭和父母的爱。小编在与极客晨星学员小睿妈妈的对话中,了解到小睿妈妈是如何培养孩子的。小睿妈妈介绍说,小睿因为接触编程后提高了学习兴趣,数学和英语成绩也得以提升。而且小睿对编程产生了浓厚的兴趣,编程也?

  • 索尼蓝牙降噪耳机WH-1000XM4 隔绝外界噪声悠享宁静片刻

    作为一款全新的旗舰产品,WH-1000XM4在外观上沿袭了上一代的造型,在使用体验上,则有着进一步的提升。不得不说的便是在智能体验上的区别,此次的WH-1000XM4将降噪处理器QN1进行了算法升级,同时结合了多麦克风系统及高端蓝牙芯片,无论是降噪还是音质上,都与上一代有着不小的提升。而新增的智能免摘对话、佩戴感应及多点连接功能,着实让其智能性更进一步。音质方面,索尼蓝牙降噪耳机WH-1000XM4采用索尼先进的音频技术,让您体

  • 乘云而上的数据库,在数据中寻找确定性

    数据是信息建设之基「云优先」已经成为企业信息化建设的主旋律,「新基建」定义了云计算是基础设施也是操作系统。云计算由于在降本增效和弹性扩展等方面的优越性,越发受到企业青睐。在黑天鹅频现的 2020 年,企业面对的风险与挑战愈发严峻,企业间的竞争也十分激烈,如何在这些不确定中寻找确定性?答案是:深耕数据,升值业务,在数据中寻找确定性。利用云平台作为基础支撑,以数据驱动进行精细化运营,满足用户的多元化需求。而?

  • 硬盘恢复数据技巧:硬盘坏了数据可以恢复吗?

    电脑硬盘是我们日常使用电脑的时候经常打交道的一个装置。电脑硬盘分为内存和外存,内存负责存储电脑系统装置和电脑中的程序运行工作,外存负责电脑文件数据存储工作,因此硬盘负载着一台电脑最重要的信息,一旦不小心格式化会造成很大的麻烦。那么电脑硬盘格式化了还能恢复吗?下面介绍的这个方法非常简单。一、硬盘格式化数据恢复方法第一步:首先我们需要一些工具类软件来协助我们恢复数据。打开浏览器搜索“嗨格式数据恢复大师

  • 硬盘坏了数据可以恢复吗?硬盘数据恢复技巧

    硬盘坏了数据可以恢复吗?硬盘是计算机中最主要的存储设备,不管是电脑上使用的硬盘还是移动硬盘,其中都存储了重要的数据文件,在长期的使用和操作下,硬盘也很容易出现损坏的情况,那么硬盘坏了数据该怎么恢复呢?接下来就为大家介绍对应的操作步骤。第一步:下载安装”嗨格式数据恢复大师“,选择主界面的”磁盘分区丢失恢复“。【嗨格式数据恢复大师】 第二步:选择要恢复的分区,然后点击搜索分区。 第三步:待查找到该分区,

  • 硬盘坏了数据可以恢复吗?硬盘数据恢复攻略分享

    硬盘坏了数据可以恢复吗?关于硬盘数据恢复方法,我想我是有发言权的,前两天不知道什么原因,电脑开机之后硬盘F盘保存的电影等大文件都找不到了,存放电影的文件夹是空,可能是我不小心误删了,然后我就疯狂找硬盘数据恢复方法想要恢复回来,经过我不懈的努力,尝试了很多恢复方法以及硬盘数据恢复软件后,终于找回了误删除的硬盘数据!一、选择一款靠谱的数据恢复软件,我一般使用的是【嗨格式数据恢复大师】这款数据恢复软件有?

  • 深度好文:用数据重建快消流通秩序——舟谱数据邹文标访谈

    据国家统计局数据显示,2020年1-6月份,社会消费品零售总额172,256亿元,6月份,社会消费品零售总额33,526亿元。庞大的市场体量之下,自然也蕴含着更多的机会与挑战。舟谱数据联合创始人邹文标在接受亿欧访谈时讲到,从中国快消行业流通现象来看,当前线下的量大于线上,线下渠道高度分散,商品从仓库到货架,尤为分散的路径就会带来效率的问题,自然也就会存在机会点:能让如此分散变得集中一些,效率就会提升。然而线下经销商物?

  • 100+ 队伍逐鹿大奖,创新编程挑战赛秋季赛圆满落幕

    9 月 19 日,RTE 2020 编程挑战赛秋季赛的决赛在线上圆满落幕了。本次秋季赛的赛题只有一个,参赛者可以根据自己的创意,基于声网Agora SDK、 声网Agora 实时消息 RTM SDK、云录制 SDK 等 SDK 实现实时互动应用,或在已有的项目中实现实时互动场景。相对春季赛,尽管赛题减半,但参赛选手热情不减,仅一个赛道便有近 260 名开发者报名参赛,组成了 100+ 队伍,最终 20 个作品进入决赛答辩。与春季赛一样,这次的决赛和颁奖都是通过

  • 索尼真无线降噪蓝牙耳机WF-1000XM3 工程学设计让佩戴更稳固

    对于衡量耳机的标准来说,佩戴舒适度的权重可能还要更高一些。无论我们是迎着新一天的晨光,还是披着困顿一天的月光,一个舒适到可以让你忽略它存在的耳机无疑是最温柔的伴侣。而索尼真无线降噪蓝牙耳机WF-1000XM3 通过进一步优化人体工程学设计,利用耳朵的三点固定结构,配合高摩擦系数的橡胶表面,让耳机在使用更舒适的同时,佩戴也更加稳固。在日常使用的情况下拥有稳固的佩戴效果,避免了可能出现的耳机掉落问题。索尼真无线

  • 秒级追踪+爆款预测,魔方数据成直播大数据黑马

    魔方数据(iambox)是致力于快手全领域流量追踪分析的大数据服务平台,为用户提供快手直播广场即时数据分析、直播数据动态大屏呈现、爆款视频趋势追踪、数据定制化等服务,助力快手账号运营优化,辅助流量变现、电商带货。同时为广告主、商业合作等用户提供可靠的数据支持,帮助发掘优质账号、播主、机构。 自上线以来,魔方数据持续深耕快手大数据挖掘分析,以更及时、更真实、更可靠,更多维度的数据追踪分析功能,成为快手大数据

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签