给XML文档添加新 ”records”

本文所举的例子与保存html格式数据至xml类似。在以往当表格被提交后,我们通常会创建一个新的文档,现在只要文档已经存在,那么直接添加就可以了。此种技术的使用与创建基本数据类似。

  在前面的文章里,我已经演示了如何使用xmldom。因此,我们可以直接进入本文的示例。

  我们需要考虑的第一件事是我们将用于添加新”记录”的html 表单。在”将html表单数据保存至xml”例子中我们已使用过此表单,只是更改了文件名,但代码是相同的。

  addcontact.html: 

        Contact Information           

登录后复制      

  我们设置此HTML表单是来处理ADD。ASP的。这里的ASP 页面具有检测XML.文件及ROLODEX.XML是否存在的功能。如果它们确实存在,ASP则会在文件上附加新的条目,如果文件不存在,则需要创建。 

  Process Add.asp:  

 0 then       Response.write("Errors occurred while saving your form submission.")     Else       Response.write("Your form submission has been saved.")     End If    %>

登录后复制

如果你已经读过关于”将HTML 表单数据保存至XML格式”的文章,你会注意到附加到将HTML数据扩展到XML文件的代码与HTML数据扩展到新文档的代码基本上是一致的。但是这里还是有两个主要的不同点:

 'Call the Load Method of the XMLDOM Object. The Load Method has a     'boolean return value indicating whether or not the file could be     'loaded. If the file exists and loads it will return true, otherwise,     'it will return false.     blnFileExists = objDom.Load(strXMLFilePath & "" & strFileName)         'Test to see if the file loaded successfully.     If blnFileExists = True Then      'If the file loaded set the objRoot Object equal to the root element      'of the XML document.      Set objRoot = objDom.documentElement    Else      'Create your root element and append it to the XML document.      Set objRoot = objDom.createElement("contact")      objDom.appendChild objRoot     End If

登录后复制

  本节的代码来自addNewContacttoXML 功能。因为我们不可能每次都新建一个文件,所以我们改为保存CONTACT。如果能够LOAD此文件呢,我们则获得了这个XML文档的根元素;如果不能够呢,那么我们就假设它不存在并创建一个新的要元素并将它附加到XML文档上。

  另外一个主要区别在于:当我们对文件进行二次检测,是否成功的LOAD,这样我们可以决定是否需要加上 一条处理指令。如果文件存在,我们就不需要加上这条指令。但是,如果创建了一个新的文件,那么则一定得加上这条处理指令。

'Check once again to see if the file loaded successfully. If it did    'not, that means we are creating a new document and need to be sure to    'insert the XML processing instruction.    If blnFileExists = False then     'Create the xml processing instruction.     Set objPI = objDom.createProcessingInstruction("xml", "version='1.0'")     'Append the processing instruction to the XML document.     objDom.insertBefore objPI, objDom.childNodes(0)    End If

登录后复制

  除开以上两点不同之处外,你可以发现 保存数据至新文件的代码实际上是与 附加新record至存在文件的代码是一样的。我们创建一个新的element, contact CONTAINER,以便能容下每个新添的RECORD。代码将会在Form Collection of the Request Objec中不断重复以创建适合的XML节点并将这些节点值设置得与当前Form Field.一样。

以上就是给XML文档添加新 ”records”的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2420448.html

(0)
上一篇 2025年3月3日 03:28:52
下一篇 2025年3月3日 03:29:13

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论