| 加入收藏| 设为首页| 联系我们

首页 站长学习 站长之家 源码下载 建站素材 书籍教程 常用工具
 您现在的位置: 动力中国 >> 网络编程 >> XML教程 >> 文章正文  
 读写xml所有节点个人小结和读取xml节点的数据总结
 

读写xml所有节点个人小结和读取xml节点的数据总结

http://www.domcn.org  文章来源:本站收藏  点击数:

  关键字:读写xml所有节点个人小结和读取xml节点的数据总结

读:
    //打开某文件(假设web.config在根目录中)
    string filename=Server.MapPath(/) + @WebApplication1\web.config;
    XmlDocument xmldoc= new XmlDocument();
    xmldoc.Load(filename);
 
    //得到顶层节点列表
    XmlNodeList topM=xmldoc.DocumentElement.ChildNodes;
    foreach(XmlElement element in topM)
    {
     if(element.Name.ToLower()==appsettings)
     {
 
      //得到该节点的子节点
      XmlNodeList nodelist=element.ChildNodes;
 
      if ( nodelist.Count >0 )
      {
       //DropDownList1.Items.Clear();
 
       foreach(XmlElement el in nodelist)//读元素值
       {
        //DropDownList1.Items.Add(el.Attributes[key].InnerXml);
        //this.TextBox2.Text=el.Attributes[key].InnerText;
        this.TextBox2.Text=el.Attributes[key].Value;
        this.Label1.Text=el.Attributes[value].Value;
 
 
            //同样在这里可以修改元素值,在后面save。
         //  el.Attributes[value].Value=this.TextBox2.Text;
       }
 

      }

     }

    }

    xmldoc.Save(filename);
 
在某节点下增加一个元素,并设置值:
 
    if(element.Name.ToLower()==appsettings)
    {
 
     XmlElement elem =xmldoc.CreateElement(add);
    
     element.AppendChild(elem);
     elem.InnerText=ltp;
 
     xmldoc.Save(filename);
      
    }
 
效果:
  <appSettings>
    <add key=密码 value=admin />
    <add>ltp</add>
  </appSettings>
 
在某节点下增加一个元素,并增加两个属性:
    if(element.Name.ToLower()==appsettings)
    {
 
     XmlElement elem =xmldoc.CreateElement(add);
     element.AppendChild(elem);
 
     XmlAttribute xa=xmldoc.CreateAttribute(key);
     xa.Value=ltp;
 
     XmlAttribute xa2=xmldoc.CreateAttribute(value);
     xa2.Value=first;
 
     elem.SetAttributeNode(xa);
     elem.SetAttributeNode(xa2);
 

     xmldoc.Save(filename);
      
    }
 
效果:
  <appSettings>
    <add key=密码 value=admin />
    <add key=ltp value=first />
  </appSettings>
 
//添加空元素:
   XmlNode node=doc.CreateElement(groupname);
     node.InnerText=;
     doc.LastChild.AppendChild(node);
 
     doc.Save(xmlfile);
 
删除一个节点元素
   string itemname=this.listBox1.SelectedItem.ToString();
  
   this.listBox1.Items.Remove(this.listBox1.SelectedItem);
 
   //begin del xmlfile
   XmlDocument doc=new XmlDocument();
   doc.Load(xmlfile);
  
   XmlNodeList topM=doc.DocumentElement.ChildNodes;
   foreach(XmlElement element in topM)
   {
    if(element.Name==this.comboBox1.Text)
    {
 
     //得到该节点的子节点
     XmlNodeList nodelist=element.ChildNodes;     
 
     foreach(XmlElement el in nodelist)//读元素值
     {      
      if(el.Attributes[key].Value==itemname)
      {
       element.RemoveChild(el);
      }
 
     }//循环元素
     
    }//得到组
 
   }//循环组

   doc.Save(xmlfile);  //一定要保存一下,否则不起作用
 
//筛选数据
private void Reader_Xml(string pathFlie)
{
   XmlDocument Xmldoc=new XmlDocument();
   Xmldoc.Load(pathFlie);
   XmlNodeList Record1=Xmldoc.DocumentElement.SelectNodes(Code[@id=1])
   int f=0;
   foreach(XmlNode xnode in Record1)
    {
 
    }
} /**//*读取xml数据   两种xml方式*/
<aaa>
     <bb>something</bb>
     <cc>something</cc>
</aaa>
 
<aaa>
    <add key=123 value=321/>
</aaa>

/**//*第一种方法*/
DS.ReadXml(your xmlfile name);
Container.DataItem(bb);
Container.DataItem(cc);
DS.ReadXmlSchema(your xmlfile name);
 
/**//*第二种方法*/
<aaa>
    <add key=123 value=321/>
</aaa>
如果我要找到123然后取到321应该怎么写呢?
 
using System.XML;
XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument();
xmlDoc.Load(@c:\Config.xml);
XmlElement elem = xmlDoc.GetElementById(add);
string str = elem.Attributes[value].Value
 
 
/**//*第三种方法:  SelectSingleNode  读取两种格式的xml *---/
--------------------------------------------------------------------
<?xml version=1.0 encoding=utf-8 ?>
<configuration>
    <appSettings>
       <ConnectionString>Data Source=yf; user id=ctm_dbo;password=123</ConnectionString>            
  </appSettings>
</configuration>
--------------------------------------------------------------------------
XmlDocument doc = new XmlDocument();
doc.Load(strXmlName);
 
    XmlNode node=doc.SelectSingleNode(/configuration/appSettings/ConnectionString);
    if(node!=null)
    {
     string k1=node.Value;    //null
     string k2=node.InnerText;//Data Source=yf; user id=ctm_dbo;password=123
     string k3=node.InnerXml;//Data Source=yf; user id=ctm_dbo;password=123
     node=null;
    }
 
********************************************************************
<?xml version=1.0 encoding=utf-8 ?>
<configuration>
    <appSettings>
       <add key=ConnectionString value=Data Source=yf; user id=ctm_dbo;password=123 />            
  </appSettings>
</configuration>
**--------------------------------------------------------------------**
     XmlNode node=doc.SelectSingleNode(/configuration/appSettings/add);
    if(node!=null)
    {
     string k=node.Attributes[key].Value;
     string v=node.Attributes[value].Value;
     node=null;
    }
*--------------------------------------------------------------------*
    XmlNode node=doc.SelectSingleNode(/configuration/appSettings/add);
    if(node!=null)
    {
     XmlNodeReader nr=new XmlNodeReader(node);
     nr.MoveToContent();
    //检查当前节点是否是内容节点。如果此节点不是内容节点,则读取器向前跳至下一个内容节点或文件结尾。
     nr.MoveToAttribute(value);
     string s=nr.Value;
     node=null;
    }
http://www.cnblogs.com/skylaugh/archive/2006/12/18/595637.html


读写xml所有节点个人小结和读取xml节点的数据总结
  • 上一篇文章:

  • 下一篇文章:
  •  热门文章
    普通文章 电子邮件改头换面 四公司畅谈未
    普通文章 PC病毒史上最声名狼藉的八大病
    普通文章 Rails系统中的AJAX开发技术简析
    普通文章 基于ASP.NET AJAX框架实现表单
    普通文章 开发ASP.NET AJAX客户端定制行
    普通文章 用JFreeChart对JSP报表进行增强
    普通文章 SQL Server 2005上的CLR和ADO.
    普通文章 SQL Server 2005的XML支持机制
    普通文章 Firefox中标签式浏览技巧大全
    普通文章 Tomcat中的Session和Cookie大揭
     
     推荐文章
    推荐文章 把Google地图嵌入网页 就是这么
    推荐文章 迅雷搜索候选资源出错的解决
    推荐文章 轻松去除迅雷里的各种广告和资
    推荐文章 突破限制 免费领养到QQ空间五级
    推荐文章 Rational统一过程RUP贴近中小软
    推荐文章 构建自己的轻量级XML DOM分析程
    推荐文章 WPS Office 2007技巧:妙用配置
    推荐文章 Excel 2007:求余数函数实用进阶
    推荐文章 浅谈ASP.NET的Postback
    推荐文章 软件开发中项目需求管理简述
     
     相关文章
    没有相关文章
    设为首页 | 加入收藏 | 广告合作 | 联系站长 | 版权申明 |
    动力中国为网友提供免费学习资料,可用资源,如果您认为我们的相关内容侵害到了您的权利请联系管理员
    Copyright © 2006-2008 domcn.org All Rights Reserved.