使用linq将属性添加到xml文档子节点

时间:2013-05-30 04:40:59

标签: c# linq

我正在尝试创建一个元素并定义xml文档的路径,我的尝试之一是:

XElement main = XElement.Load(xmlpath);

然后我尝试选择我想要添加属性的现有元素

main.XPathSelectElement("/Row/ip_addresses").SetAttributeValue("id", sp_range.ToString()); 

Las尝试了这两个

main.XPathSelectElement("/Row/ip_addresses").ReplaceAttributes("id", sp_range.ToString());

此代码中没有出现错误,只是xml文档和现有Element没有任何反应,现有的子元素是,而Parent是我使用Xpath导航到我想要添加属性的子元素根据Linq不存在我们应该能够更改存在或不存在的属性并更改存在的ElementTags或创建不存在的元素。

请任何建议帮助

2 个答案:

答案 0 :(得分:0)

您似乎没有持久保存更改...

尝试使用XElement.Save方法

答案 1 :(得分:0)

您正在从当前元素下不存在的“行”中进行选择。当前元素本身就是“行”。因此,您需要从根"/ip_addresses"中进行选择,而不是从"/Row/ip_addresses"中选择。

main.XPathSelectElement("/ip_addresses").SetAttributeValue("id",sp_range.ToString()));