知识大全 在C#.net中操作XML实例
Posted 结点
篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在C#.net中操作XML实例相关的知识,希望对你有一定的参考价值。
在C#.net中操作XML实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在中如何操作XML 需要添加的命名空间 using System Xml;
定义几个公共对象 XmlDocument xmldoc ; XmlNode xmlnode ; XmlElement xmlelem ;
创建到服务器同名目录下的xml文件
方法一 xmldoc = new XmlDocument ( ) ; //加入XML的声明段落 xmlnode = xmldoc CreateNode ( XmlNodeType XmlDeclaration ) ; xmldoc AppendChild ( xmlnode ) ; //加入一个根元素 xmlelem = xmldoc CreateElement ( Employees ) ; xmldoc AppendChild ( xmlelem ) ; //加入另外一个元素 for(int i= ;i< ;i )
XmlNode root=xmldoc SelectSingleNode( Employees );//查找<Employees> XmlElement xe =xmldoc CreateElement( Node );//创建一个<Node>节点 xe SetAttribute( genre 李赞红 );//设置该节点genre属性 xe SetAttribute( ISBN );//设置该节点ISBN属性
XmlElement xesub =xmldoc CreateElement( title ); xesub InnerText= CS从入门到精通 ;//设置文本节点 xe AppendChild(xesub );//添加到<Node>节点中 XmlElement xesub =xmldoc CreateElement( author ); xesub InnerText= 候捷 ; xe AppendChild(xesub ); XmlElement xesub =xmldoc CreateElement( price ); xesub InnerText= ; xe AppendChild(xesub );
root AppendChild(xe );//添加到<Employees>节点中 //保存创建好的XML文档 xmldoc Save ( Server MapPath( data xml ) ) ;
////////////////////////////////////////////////////////////////////////////////////// 结果 在同名目录下生成了名为data xml的文件 内容如下 <?xml version= ?> <Employees> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> </Employees>
方法二 XmlTextWriter xmlWriter; string strFilename = Server MapPath( data xml ) ;
xmlWriter = new XmlTextWriter(strFilename Encoding Default);//创建一个xml文档 xmlWriter Formatting = Formatting Indented; xmlWriter WriteStartDocument(); xmlWriter WriteStartElement( Employees );
xmlWriter WriteStartElement( Node ); xmlWriter WriteAttributeString( genre 李赞红 ); xmlWriter WriteAttributeString( ISBN );
xmlWriter WriteStartElement( title ); xmlWriter WriteString( CS从入门到精通 ); xmlWriter WriteEndElement();
xmlWriter WriteStartElement( author ); xmlWriter WriteString( 候捷 );
xmlWriter WriteEndElement();
xmlWriter WriteStartElement( price ); xmlWriter WriteString( ); xmlWriter WriteEndElement();
xmlWriter WriteEndElement();
xmlWriter Close(); ////////////////////////////////////////////////////////////////////////////////////// 结果 <?xml version= encoding= gb ?> <Employees> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> </Employees>
添加一个结点
XmlDocument xmlDoc=new XmlDocument(); xmlDoc Load(Server MapPath( data xml )); XmlNode root=xmlDoc SelectSingleNode( Employees );//查找<Employees> XmlElement xe =xmlDoc CreateElement( Node );//创建一个<Node>节点 xe SetAttribute( genre 张三 );//设置该节点genre属性 xe SetAttribute( ISBN );//设置该节点ISBN属性
XmlElement xesub =xmlDoc CreateElement( title ); xesub InnerText= C#入门帮助 ;//设置文本节点 xe AppendChild(xesub );//添加到<Node>节点中 XmlElement xesub =xmlDoc CreateElement( author ); xesub InnerText= 高手 ; xe AppendChild(xesub ); XmlElement xesub =xmlDoc CreateElement( price ); xesub InnerText= ; xe AppendChild(xesub );
root AppendChild(xe );//添加到<Employees>节点中 xmlDoc Save ( Server MapPath( data xml ) );
////////////////////////////////////////////////////////////////////////////////////// 结果 在xml原有的内容里添加了一个结点 内容如下 <?xml version= ?> <Employees> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 张三 ISBN= > <title>C#入门帮助</title> <author>高手</author> <price> </price> </Node> </Employees>
修改结点的值(属性和子结点)
XmlDocument xmlDoc=new XmlDocument(); xmlDoc Load( Server MapPath( data xml ) );
XmlNodeList nodeList=xmlDoc SelectSingleNode( Employees ) ChildNodes;//获取Employees节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe GetAttribute( genre )== 张三 )//如果genre属性值为 张三
xe SetAttribute( genre update张三 );//则修改该属性为 update张三
XmlNodeList nls=xe ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn in nls)//遍历 XmlElement xe =(XmlElement)xn ;//转换类型 if(xe Name== author )//如果找到 xe InnerText= 亚胜 ;//则修改 xmlDoc Save( Server MapPath( data xml ) );//保存
////////////////////////////////////////////////////////////////////////////////////// 结果 将原来的所有结点的信息都修改了 xml的内容如下 <?xml version= ?> <Employees> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= update张三 ISBN= > <title>C#入门帮助</title> <author>亚胜</author> <price> </price> </Node> </Employees>
修改结点(添加结点的属性和添加结点的自结点) XmlDocument xmlDoc=new XmlDocument(); xmlDoc Load( Server MapPath( data xml ) );
XmlNodeList nodeList=xmlDoc SelectSingleNode( Employees ) ChildNodes;//获取Employees节点的所有子节点
foreach(XmlNode xn in nodeList) XmlElement xe=(XmlElement)xn; xe SetAttribute( test );
XmlElement xesub=xmlDoc CreateElement( flag ); xesub InnerText= ; xe AppendChild(xesub); xmlDoc Save( Server MapPath( data xml ) );
////////////////////////////////////////////////////////////////////////////////////// 结果 每个结点的属性都添加了一个 子结点也添加了一个 内容如下 <?xml version= ?> <Employees> <Node genre= 李赞红 ISBN= test= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> <flag> </flag> </Node> <Node genre= 李赞红 ISBN= test= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> <flag> </flag> </Node> <Node genre= update张三 ISBN= test= > <title>C#入门帮助</title> <author>亚胜</author> <price> </price> <flag> </flag> </Node> </Employees>
删除结点中的某一个属性
XmlDocument xmlDoc=new XmlDocument(); xmlDoc Load( Server MapPath( data xml ) ); XmlNodeList xnl=xmlDoc SelectSingleNode( Employees ) ChildNodes; foreach(XmlNode xn in xnl) XmlElement xe=(XmlElement)xn; xe RemoveAttribute( genre );//删除genre属性
XmlNodeList nls=xe ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn in nls)//遍历 XmlElement xe =(XmlElement)xn ;//转换类型 if(xe Name== flag )//如果找到 xe RemoveChild(xe );//则删除 xmlDoc Save( Server MapPath( data xml ) );
//////////////////////////////////////////////////////////////////////////////////////] 结果 删除了结点的一个属性和结点的一个子结点 内容如下 <?xml version= ?> <Employees> <Node ISBN= test= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node ISBN= test= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node ISBN= test= > <title>C#入门帮助</title> <author>亚胜</author> <price> </price> </Node> </Employees>
删除结点 XmlDocument xmlDoc=new XmlDocument(); xmlDoc Load( Server MapPath( data xml ) ); XmlNode root=xmlDoc SelectSingleNode( Employees ); XmlNodeList xnl=xmlDoc SelectSingleNode( Employees ) ChildNodes; for(int i= ;i<xnl Count;i ) XmlElement xe=(XmlElement)xnl Item(i); if(xe GetAttribute( genre )== 张三 ) root RemoveChild(xe); if(i<xnl Count)i=i ; xmlDoc Save( Server MapPath( data xml ) );
结果 删除了符合条件的所有结点 原来的内容
<?xml version= ?> <Employees> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 李赞红 ISBN= > <title>CS从入门到精通</title> <author>候捷</author> <price> </price> </Node> <Node genre= 张三 ISBN= > <title>C#入门帮助</title> <author>高手</author> <price> </price> </Node>
<Node genre= 张三 ISBN= > <title>C#入门帮助</title> <author>高手</author> <price> </price> </Node> </Employees>
cha138/Article/program/net/201311/13258相关参考
知识大全 asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代码
asp.net将一个图片以二进制值的形式存入Xml文件中的实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
知识大全 详谈.NET Framework处理XML操作技巧
详谈.NETFramework处理XML操作技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET项目开发指南:C#操作XML(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 ASP.NET项目开发指南:C#操作XML(1)[2]
ASP.NET项目开发指南:C#操作XML(1)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 ASP.NET项目开发指南:C#操作XML(1)[1]
ASP.NET项目开发指南:C#操作XML(1)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
C#XML序列化实例浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实现C#XML序列化技术
ASP.NET怎么操作DataTable实例应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有机
Asp.Net用OWC操作Excel的实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文
.Net编写类库直接操作MySql数据库应用实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET中XML数据的处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SqlDataS