对XML的操作
对XML的操作主要使用到的语法示例:
using System.Xml;
private static string XmlMarketingStaff = AppDomain.CurrentDomain.BaseDirectory + "config\\MarketingStaff.xml";
public static List<staffes> GetMarketingStaff2()
{
XmlDocument xmlListDoc = XmlHlp.LoadXml(XmlMarketingStaff);
XmlNodeList nSys = null;
nSys = xmlListDoc.SelectNodes("//staff");
List<QianjiaCRM2._0.Helper.StaffHlp.staffes> list = new List<QianjiaCRM2._0.Helper.StaffHlp.staffes>(nSys.Count);
for (int i = 0; i < nSys.Count; i++)
{
XmlNode n = nSys[i];
QianjiaCRM2._0.Helper.StaffHlp.staffes c = new QianjiaCRM2._0.Helper.StaffHlp.staffes()
{
OldName = n.Attributes["name"].Value,
Name = n.Attributes["name"].Value
};
list.Add(c);
}
return list;
}
public static void UpdateTrailerXml(staffes sta)
{
XmlDocument xmlListDoc = XmlHlp.LoadXml(XmlMarketingStaff);
XmlNodeList nSys = null;
nSys = xmlListDoc.SelectNodes("//staff");
if (!string.IsNullOrEmpty(sta.OldName))
{
for (int i = 0; i < nSys.Count; i++)
{
XmlNode n = nSys[i];
if (n.Attributes["name"].Value == sta.OldName)
{
n.Attributes["name"].Value = sta.Name;
}
}
}
else
{
XmlElement root = xmlListDoc.DocumentElement;
XmlElement staff = xmlListDoc.CreateElement("staff");
staff.SetAttribute("name", sta.Name);
root.AppendChild(staff);
}
xmlListDoc.Save(XmlMarketingStaff);
}
public static void Delete(string name)
{
XmlDocument xmlListDoc = XmlHlp.LoadXml(XmlMarketingStaff);
XmlNodeList nSys = null;
nSys = xmlListDoc.SelectNodes("//staff");
if (!string.IsNullOrEmpty(name))
{
for (int i = 0; i < nSys.Count; i++)
{
XmlElement root = xmlListDoc.DocumentElement;
XmlNode n = nSys[i];
if (n.Attributes["name"].Value == name)
{
root.RemoveChild(n);
}
}
xmlListDoc.Save(XmlMarketingStaff);
}
}
public class staffes
{
public string OldName { get; set; }
public string Name { get; set; }
}
/// <summary>
/// 加载Xml文件返回XmlDocument对象
/// </summary>
/// <param name="xmlPath">文件路径</param>
/// <returns></returns>
public static XmlDocument LoadXml(string xmlPath)
{
XmlDocument xmlDoc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;//忽略文档里面的注释
XmlReader reader = XmlReader.Create(xmlPath, settings);
xmlDoc.Load(reader);
reader.Close();
return xmlDoc;
}
对XML的操作的更多相关文章
- VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式
[1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...
- sql server中对xml进行操作
一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...
- Xml通用操作类
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...
- C# XML流操作简单实例
这里我们先介绍操作XML文件的两个对象:XmlTextReader和XmlTextWriter打开和读取Xml文件使用到的对象就是XmlTextReader对象.下面的例子打开了与程序在同一路径下的一 ...
- SQL Server 2008 对XML 数据类型操作
原文 http://www.cnblogs.com/qinjian123/p/3240702.html 一.前言 从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接 ...
- 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!
我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...
- 由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作
原文同步至:http://www.waylau.com/from-jasperrpeorts-4-1-2-upgraded-to-5-1-2-parsing-of-flex-projects-to-t ...
- xml常用操作(js、sql、vb)
我们经常会用到xml操作,如下介绍了js.sql.vb等对xml的操作. JS创建xml对象 //创建对象 function getDataXML() { var objTds = $(&qu ...
- Python实现XML的操作
本文从以下两个方面, 用Python实现XML的操作: 一. minidom写入XML示例1 二. minidom写入XML示例2 三. ElementTree写入/修改示例 四. ElementTr ...
随机推荐
- 创建类模式(零):简单/静态工厂(Static Factory)
定义 简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一,这也是为什么该模式标记为零的原因.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂模式是工厂模式家族中最简单实用的 ...
- [置顶] 很荣幸被选为2013年度 CSDN博客之星评选,如果觉得我的文章可以,请投我一票!
亲爱的小伙伴们,很荣幸我被选为<2013年度CSDN博客之星候选人>,希望大家多多支持,geekguy会继续努力,为大家奉献更好的文章. 投票地址:http://vote.blog.csd ...
- CLR探索应用程序域世界(上):Windbg SOS剖析揭示域世界
在CLR的世界中,有一系列的令人Amazing的技术和架构.其中,CLR对应用程序在内存中内存分配,执行模型,程序之间的交互等一系列的技术,值得每一个致力于DotNet平台的技术人员深究. 编程人员在 ...
- Hibernate查询效率对比
查询已知表名的实体时推荐使用getHibernateTemplate().executeWithNativeSession() + SQLQuery方式. 以下测试使用JUnit进行,仅查询一次,查询 ...
- eclipse 插件
eclipse 插件 pdt(http://projects.eclipse.org/projects/tools.pdt/downloads) PHP Development Tools 3.2 R ...
- ADO.NET 快速入门(十三):使用 OLE DB 检索数据
OleDbDataReader 类提供了一种从数据源读取数据记录只进流的方法.如果想使用 SQL Server 7.0 或者更高版本,请参考文章:使用 SQL Server 检索数据. OleDb ...
- CSS 布局总结——变宽度布局
变宽度布局 1-2-1 等比例变宽 总宽度设置 width: 85%; min-width: 650px; (关于IE6的min-width支持,可用) content 设置 width: 66%; ...
- Codeforces Gym 100342D Problem D. Dinner Problem Dp+高精度
Problem D. Dinner ProblemTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1003 ...
- MYSQL router 自动均衡负载
配制文件: /etc/mysqlrouter/mysqlrouter.ini [DEFAULT] logging_folder = /var/log/mysql-router plugin_folde ...
- Eclipse插件的安装方法
转自:http://blog.csdn.net/zhangyabinsky/article/details/7043435 Eclipse插件的安装有两种方法 :一个是在线安装,另一个就是手动安装. ...