热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编程:如何天生XML数据

一,必需弄明白终极需要的是什么我们通过asp或其他动态编程语言,终极需要的是XML格局的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://www.dw8

一,必需弄明白终极需要的是什么

我们通过asp或其他动态编程语言,终极需要的是XML格局的数据,这点和XML数据所在的文件载体无关,它可以是实实在在的XML文件,比如:http://www.dw8.cn/common/dw8.xml 。也可认为asp文档,比如:http://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("")

MyFile.WriteLine("<世界>")

MyFile.WriteLine("<你好>hello,world")

MyFile.WriteLine("")

MyFile.Close

%>

查看XML文件内容

有关FSO的把持参看

http://www.cnbruce.com/blog/showlog.aspcat_id=26&log_id=440

假如按照天活泼态的XML数据文件来说,则是将MyFile.WriteLine的相干内容在动态文档中通过程式的手段来把持XML节点的名称和值即可。

三,如何应用动态文档天生XML数据

那假如不是天生XML文件,直接在动态文档上输出XML数据呢,须声明文件的类型(即Response.ContentType)

<%Response.COntentType= "text/XML"%>

比如直接浏览如下的动态ASP文档,在浏览器中下则显示为XML数据树

<%

With Response

.COntentType= "text/XML"

.write("")

.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把持是必需的。




推荐阅读
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Javascript中带有加号 - 减号(±)的极坐标曲线方程 - Polar curve equation with plus-minus sign (±) in Javascript
    IamtryingtodrawpolarcurvesonHTMLcanvasusingJavascript.WhatshouldIdowhenIwanttoco ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
author-avatar
中国地产人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有