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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)