XML学习点滴

转载 2006年06月22日 18:16:00
1.xml在NET的程序里如果使用XmlDocument的方式构建,那么就是一棵类树。在这棵树里,所有的Xml文件的节点都被表示成类。但这些类有根据不同的XML的节点类型来表示不同的类。比如:XMLElement,XmlAttribute等等,而他们共同的抽象类是XMLNODE。他们是如下关系XmlElement : XmlLinkedNode : XmlNode。
 
2.读取XML文件中某节点的值,并修改它,XML如下:
<?xml version="1.0" encoding="utf-8"?>
<users>
  <newTab>
    <newName>BeiJing</newName>
    <newCode>ShangHai</newCode>
    <newUp>TianJin</newUp>
  </newTab>
</users>
 
代码如下
XmlDocument doc = new XmlDocument();
 doc.Load("your.xml");
      XmlNode node;
      XmlElement root = doc.DocumentElement;
      node = root.SelectSingleNode("users/newTab/newName");
     node.Value = "newvalue";
doc.save()
 
或者如下
string filePath  = HttpContext.Current.Server.MapPath("your.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filePath);
//取值
string xp = xmlDoc.SelectSingleNode("newTab").ChildNodes[0].InnerTex;
//给值
xmlDoc.SelectSingleNode("newTab").ChildNodes[0].InnerTex = "asdasd";
xmlDoc.Save(filePath);
 
3.关于xml中的AppendChild
System.Xml.XmlDocument UserInfo = new XmlDocument();
UserInfo.LoadXml("<User></User>");
XmlNode node = UserInfo.LastChild;
XmlElement elem = UserInfo.CreateElement("pass");
elem.InnerText = "Pa";
XmlNode node1 = UserInfo.CreateNode(XmlNodeType.Element, "111", "");
XmlNode node2 = UserInfo.CreateNode(XmlNodeType.Element, "222", "");
XmlNode node3 = UserInfo.CreateNode(XmlNodeType.Element, "333", "");        
node.AppendChild(node1);           
node.AppendChild(node2);                  
node.AppendChild(node3);
foreach (XmlNode Node in node)
  Node.AppendChild(elem);
UserInfo.Save(Server.MapPath("1.xml"));
得到如下:
<?xml version="1.0"?>
<User>
  <111>
      <pass>Pa</pass>
  </111>
  <222>
      <pass>Pa</pass>
  </222>
  <333>
      <pass>Pa</pass>
  </333>
</User>
 
4.修改结点名字
<Root>
    <a>
       <c/>
    </a>
</Root>
改成
<Root>
    <b>
       <c/>
    <b>
</Root>
就是把a换成b,但下面子结点内容不变。代码如下:
 
先用selectNode或别的方式找到a节点 node
XmlNode nodeTemp = doc.CreateNode( node.NodeType , "b" , "");
nodeTemp.InnerXml = node.InnerXml;
element.ReplaceChild( nodeTemp , node );

【Java技术点滴】——XML解析方式比较

为什么? “它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环...

android 点滴——XML和JSON对比

1.简介:   XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定...
  • WYYZ5
  • WYYZ5
  • 2015年08月20日 16:36
  • 597

注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(一):消除hibernate中<mapping resouce 的xxxx. hbm.xml文件

以下几篇文章简单的介绍一下jpa 和 spring2.5 hibernate3.2 整合配置的一个过程。纯粹个人经验只谈。如果有错误,请各位留言指出。 本系列重点是涉及 配置过程 ,...
  • twsghxs
  • twsghxs
  • 2014年11月10日 10:59
  • 143

android 点滴——XML

在Android平台上解析XML文件使用: Simple API for XML(SAX) 、 Document Object Model(DOM)Android附带的pull解析器。 下面是...
  • WYYZ5
  • WYYZ5
  • 2015年08月20日 16:25
  • 218

注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(二):进一步消除 hibernate.cfg.xml

通过上面一步骤。我们简化了hibernate中扰人的 xxxxx.hbm.xml文件。那么是否可以再进行简化呢? 那么,我们在这一步骤的目的,就是把整个 hibernate.cfg.xml都给简化了...

Zigbee学习点滴

  • 2012年02月22日 13:05
  • 27KB
  • 下载

Mysql基础学习点滴

  • 2011年05月18日 23:57
  • 48KB
  • 下载

DevExpress点滴学习--换肤

一、在项目下新建RibbonForm  命名为:useSkin 二、添加引用DevExpress.OfficeSkins       DevExpress.UserSkins.BonusSkins ...
  • yh0503
  • yh0503
  • 2015年11月15日 21:44
  • 338

java点滴学习资料

  • 2007年06月20日 11:02
  • 85KB
  • 下载

SD卡协议学习点滴(完整版本)

  • 2011年11月21日 16:46
  • 937KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML学习点滴
举报原因:
原因补充:

(最多只允许输入30个字)