C#程序中:如何向xml文件中插入节点(数据)

C#程序中:如何向xml文件中插入节点(数据),第1张

向xml文件中动态的添加节点(数据)是一件很爽的事,可以给你的程序带来很多的方便,比如在web中,如果你的Flash用到了xml文件,这个方法可以让你在后台就轻轻松松的更新你的Flash内容哦!一起研究下吧……using

System.Xml

using

System.IO

namespace

WriteXml{classProgram{

static

void

Main(string[]

args){

addItem()//追加节点(数据)}privatestatic

void

addItem(){

XmlDocument

xmlDoc

=

new

XmlDocument()

xmlDoc.Load("titles.xml")//加载xml文件,路径未指定时默认在当前项目环境下

XmlNode

root

=

xmlDoc.SelectSingleNode("items")//选择要添加子节点的items节点

XmlElement

xe1

=

xmlDoc.createElement_x("item")//创建一个具有指定名称的子节点

xe1.SetAttribute("类别",

"张三")//设置item的属性

及属性值

xe1.SetAttribute("品质",

"老师")//

XmlElement

xmlsub1

=

xmlDoc.createElement_x("title")//创建一个具有指定名称的元素

xmlsub1.InnerText

=

"wahahha"//设置该元素的值

xe1.AppendChild(xmlsub1)//将该元素添加到item子节点的尾部

XmlElement

xmlsub2

=

xmlDoc.createElement_x("author")//创建一个具有指定名称的元素

xmlsub2.InnerText

=

"三毛"//设置该元素的值

xe1.AppendChild(xmlsub2)//将该元素添加到item子节点的尾部

XmlElement

xmlsub3

=

xmlDoc.createElement_x("Price")//创建一个具有指定名称的元素

xmlsub3.InnerText

=

"15.00"//设置该元素的值

xe1.AppendChild(xmlsub3)//将该元素添加到item子节点的尾部

root.AppendChild(xe1)//将创建的item子节点添加到items节点的尾部

根据

你的贴图可以看出你的记录只有一个唯一键值,用户名,那么如果想删除

记录必须找到这个唯一键值的在xml元素中对应的属性,通过这个属性确定这个元素,然后删除这个元素。我们可以通过linq语句来 *** 作。

下面的代码将用来 *** 作xml

string

xmlpath="你xml的地址"

xdocument

xdoc

=

xdocument.load(xmlpath)

xelement

xele

=

xdoc.root.element("元素名")

//如果你要根据属性来查询的话,这么用

ienumerable

xeles=from

xel

in

xdoc.root.descendants()

where

xel.attribute("唯一键值的属性名").value=="唯一键值"

select

xel

xelement

xelee=xeles.firstordefault()

xelee.remove()

那么这样就删除了。

至于你的唯一键值如何获得,我想这个很好办,你用的是listview,通过listview的selected属性就可以得到你所选择行的行索引号,通过索引号就自然可以读取到所在行的第一列的值。

      private void button1_Click(object sender, EventArgs e)

        {

            string File = @"c:\TableColumns.xml"

            System.Xml.XmlDocument xmlDoc=new System.Xml.XmlDocument()

            xmlDoc.Load(File)

            System.Xml.XmlNode xn = xmlDoc.DocumentElement.SelectSingleNode("TableColumns/TableColumn[@id=\"IndexUnit\"]")//读取id=IndexUnit的TableColumn节点,在xml教材中的xPath章节专门介绍这种查询方法。

            System.Xml.XmlElement vs=xmlDoc.CreateElement("Visibility")//创建新节点

            System.Xml.XmlElement Hd = xmlDoc.CreateElement("Hidden")

            Hd.InnerText = "true"

            vs.AppendChild(Hd)//添加为子节点

            xn.AppendChild(vs)

            xmlDoc.Save(File)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11451309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存