把数据存储到 XML 文件

前端之家收集整理的这篇文章主要介绍了把数据存储到 XML 文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

通常,我们在数据库中存储数据。不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中。

一、关于xml

我感觉我对于xml了解的并不多,看完了刘伟的xml视频,主要感觉讲了两部分:一个是关于xml的简单介绍(包括与html对比,核心是关注数据传输处理和包含,发展,树形结构和组成元素);另一部分讲了关于xml的验证:dtd和schema。下面是我看视频做的笔记:


在看《xml网页技术实用教程》和上网查资料的时候,让我觉得眼前一亮的就是:xml同样也能保存用户信息,存储数据。书上给的是读者信息的保存,我觉得这个东西应该也能用到很多地方,之前看了写了关于session和cookie的博客,也是存储数据的。因为在项目中xml大多用于配置文件,额,好多时候是用于链接数据库啊,啥啥啥。老觉得大材小用。


二、关于数据存储xml的代码



第一段代码主要是看如何创建并保存一个 XML 文件。主要用了XMLDOM对象来创建保存。关于 XMLDOM对象有很多(点击打开链接代码如下:

  1. <%
  2. Dim xmlDoc,rootEl,child1,child2,p
  3.  
  4. ' 创建XML文档
  5. Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
  6.  
  7. '创建根元素并将之加入文档
  8. Set rootEl = xmlDoc.createElement("root")
  9. xmlDoc.appendChild rootEl
  10.  
  11. '创建并加入子元素
  12. Set child1 = xmlDoc.createElement("child1")
  13. Set child2 = xmlDoc.createElement("child2")
  14. rootEl.appendChild child1
  15. rootEl.appendChild child2
  16.  
  17. '创建 XML processing instruction
  18. '并把它加到根元素之前
  19. Set p=xmlDoc.createProcessingInstruction("xml","version='1.0'")
  20. xmlDoc.insertBefore p,xmlDoc.childNodes(0)
  21. '文件保存到 C 目录
  22. xmlDoc.Save "c:\test.xml"
  23. %>

下面是关于把数据存储到xml文件里面的一个小demo,里面主要注册的例子因为xml是树结构,所以只有一个根节点,多个树节点,层次清晰。里面加载了一个已经建立好的xml文件,然后在注册界面进行注册的时候,信息就保存到xml里面:

  1. //创建一个xml文档(rname),用于添加(读取)人名readname
  2. XmlDocument rname = new XmlDocument();
  3. //加载登录名单的xml文档
  4. rname.Load(@"...\...\File\dlfile.xml");
  5. //查找namelist节点,并把它赋给root
  6. XmlNode root = rname.SelectSingleNode("namelist");
  7. //配置realname节点,赋给cname(childname)
  8. XmlElement cname = rname.CreateElement("realname");
  9. //配置name节点,赋给ccname
  10. XmlElement ccname = rname.CreateElement("name");
  11. //向ccname节点中加入内容
  12. ccname.InnerText = textBox1.Text;
  13. cname.AppendChild(ccname);
  14. //加入年龄
  15. XmlElement ccsex = rname.CreateElement("sex");
  16. ccsex.InnerText = comboBox1.Text;
  17. cname.AppendChild(ccsex);
  18. //加入地址
  19. XmlElement ccaddress = rname.CreateElement("address");
  20. ccaddress.InnerText = textBox3.Text;
  21. cname.AppendChild(ccaddress);
  22. //加入身份证号码
  23. XmlElement ccid = rname.CreateElement("idnumber");
  24. ccid.InnerText=textBox4.Text;
  25. cname.AppendChild(ccid);
  26. root.AppendChild(cname);
  27. //加入用户名
  28. XmlElement username = rname.CreateElement("user");
  29. username.InnerText = textBox5.Text;
  30. root.AppendChild(username);
  31. //加入密码
  32. XmlElement pwd = rname.CreateElement("password");
  33. pwd.InnerText = textBox6.Text;
  34. root.AppendChild(pwd);
  35. //加入ID(employee ID,eID)
  36. XmlElement eID = rname.CreateElement("ID");
  37. eID.InnerText = comboBox2.Text;
  38. root.AppendChild(eID);
  39. rname.Save(@"...\...\File\dlfile.xml");
  40. //打开主窗体,关闭当前窗体
  41. this.fa.Visible = true;
  42. this.Visible = false;
  43. MessageBox.Show("恭喜您注册成功");
  44. }

  1. <?xml version="1.0" encoding="gb2312"?>
  2. <namelist>
  3. <realname>
  4. <name>馆长</name>
  5. <sex></sex>
  6. <address>图书馆</address>
  7. <idnumber>371234197809240783</idnumber>
  8. </realname>
  9. <user>guanzhang</user>
  10. <password>11111</password>
  11. <ID>glyh001</ID>


三、关于XML的拓展


关于XML到底能干什么,我查了好多资料,写的都很笼统,找了几个比较好的:

1、可以做为数据库存储数据 读操作: 假如你的web应用程序里有一个Products.xml,你可以用DataSet来读取这个xml,然后绑定到DataList,DataGrid等的控件上 写操作: 如果你建立一个购物车的DataTable,就可以将它写入到xml文件中去

2、如果你会用xsl,可以将xml整合到首页上,让你更新网页更容易,也很容易管理,样式改动也方便

3、关于xml的技术太多了,xpath,xquery,xslt等等,包括语音标记、矢量图标记等等,详情请参照www.w3.org 。

4、一般的说,xml已经广泛的应用,你用的office软件保存的doc,xls等等的格式背后都是xml标记,一些矢量图的软件Visio,做出的图形其实都是基于xml技术的,ajax技术也是基于xml技术的

5、忘了最重要的一个未来会大大发展的技术,web services,实质也是xml的一种应用

猜你在找的XML相关文章