c#用XmlAttribute如何往xml文档里面节点写入属性?

c#用XmlAttribute如何往xml文档里面节点写入属性?,第1张

以下是我搜集的一些XML常用的 *** 作,一般就这几个。你说的问题,可以用这样的方式someNode.SetAttribute("","")来解决,但首先你需要找到那个需要改动的节点someNode。呵呵,你还是慢慢看吧,不多。

using System.Xml

//初始化一个xml实例

XmlDocument xml=new XmlDocument()

//导入指定xml文件

xml.Load(path)

xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"))

//指定一个节点

XmlNode root=xml.SelectSingleNode("/root")

//获取节点下所有直接子节点

XmlNodeList childlist=root.ChildNodes

//判断该节点下是否有子节点

root.HasChildNodes

//获取同名同级节点集合

XmlNodeList nodelist=xml.SelectNodes("/Root/News")

//生成一个新节点

XmlElement node=xml.CreateElement("News")

//将节点加到指定节点下,作为其子节点

root.AppendChild(node)

//将节点加到指定节点下某个子节点前

root.InsertBefore(node,root.ChildeNodes[i])

//为指定节点的新建属性并赋值

node.SetAttribute("id","11111")

//为指定节点添加子节点

root.AppendChild(node)

//获取指定节点的指定属性值

string id=node.Attributes["id"].Value

//获取指定节点中的文本

string content=node.InnerText

//保存XML文件

string path=Server.MapPath("~/file/bookstore.xml")

xml.Save(path)

//or use :xml.Save(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"))

//遍历结点

private static XmlDocument doc

private static int icount = 1

public static void DisplayTitle(XmlElement xmlnode)

{

XmlNodeList xmlnodelist = xmlnode.ChildNodes

foreach (XmlNode xn in xmlnodelist)

{

if (xn.NodeType != XmlNodeType.Element)

continue

icount++

if (xn.ChildNodes.Count >0)

{

DisplayTitle((XmlElement)xn)

}

}

//Console.WriteLine(icount)

}

按照这个思想把SET @myDoc.modify('insert attribute align {"right"} into (/root/row/item1)[1]')加进里面就可以了吧

      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/11798133.html

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

发表评论

登录后才能评论

评论列表(0条)

保存