您正在使用 LINQ to XML,这可能是 .NET XML API 中最容易使用的:
对于第一部分:更新属性的值,您需要获取属性的XAttribute实例Name并更改其值:
custElement.Attribute("Name").Value = "aaabbbccc";
假设CustElement是正确的<Customer>元素。
对于第二部分:追加另一个元素,使用(parent of ) 的方法在另一个元素之后插入一个元素,因此给定一个元素:AddAfterSelfXNodeXElementrootElementXElement<Customers>
rootElement.LastNode.AddAfterSelf(new XElement("Customer",
new XAttribute("Id", 3),
new XAttribute("Name", "test")));
(构造函数的第一个参数XElement是它的名称,后面的参数是内容——属性(在本例中)或子节点。有多种其他方法可以做到这一点:例如Add(object),附加到XElement包装<Customers>元素,但在实践一个人倾向于有自己的偏好并坚持下去(一个小的一致性使代码更简单一些)。
对于第三部分:通过 id 获取客户,我们可以使用 LINQ 理解表达式:
var matches = (from cust in customersElement.Elements("Customer")
where (int)cust.Attribute("Id") == theTargetId
select cust)
.Single();
(如果找到不完全匹配的任何内容,这将抛出,用于在未找到SingleOrDefault时返回null。)