相当的简单,只要先生成一个XElement对象然后把它Add到当前节点对象就可以了。进一步我们仔细查看一下XElement可以添加节点的方法。可以看到一共有Add, AddAfterSelf, AddAnnotation, AddBeforeSelf, AddFirst这五个方法。在默认情况下,Add的操作是将新节点作为被插入节点的最后一个孩子节点插入的,而AddFirst正好相反。AddAfterSelf和AddBeforeSelf则是将节点作为兄弟节点插入的,这里要注意的是调用这两个方法的时候不能以根节点作为被插入节点,因为XML文档规定只能有一个根节点。最后,我们来看一下AddAnnotation这个方法。AddAnnotation是为一个节点添加一个相关的评注的类对象。这个类对象可以用户自己定义,所以通过这个方法我们可以扩展XML文档对象的功能,例如根据节点来获取类对象的功能。下面是一段引用自msdn的代码:
public class MyAnnotation接下来我们再看一下如何利用LINQ to XML来更新XML的信息。对XML文档进行更新主要包括两个方面,一个方面是对元素属性和值得更新;另一方面是对元素名称的更新。在一般情况下,我们通常只对元素的属性和值进行更新,代码如下:
{
private string tag;
public string Tag { get { return tag; } set { tag = value; } }
public MyAnnotation(string tag)
{
this.tag = tag;
}
}
… …
MyAnnotation ma = new MyAnnotation("T1");
XElement root = new XElement("Root", "content");
root.AddAnnotation(ma);
MyAnnotation ma2 = (MyAnnotation)root.Annotation<MyAnnotation>();
XElement xelem = XElement.Load(@"example.xml");
var partNos = from item in xelem.Descendants("Item")
where item.Attribute("PartNumber").Value == "872-AA"
select item;
foreach (XElement node in partNos)
{
node.Value = "Hello";
Console.WriteLine(node.Value);
}