Silverlight XML在特殊位置添加节点(使用LINQ)
我有一个XML,看起来像这样Silverlight XML在特殊位置添加节点(使用LINQ),xml,silverlight,linq-to-xml,Xml,Silverlight,Linq To Xml,我有一个XML,看起来像这样 <root> <name value="test"> <contact> <id>1</id> <Name>myname mylastname</Name> <phone> <number1_1>123456789</numbe
<root>
<name value="test">
<contact>
<id>1</id>
<Name>myname mylastname</Name>
<phone>
<number1_1>123456789</number1_1>
<number2_1>987654321</number2_1>
</phone>
</contact>
<contact>
<id>2</id>
<Name>myname mylastname</Name>
<phone>
<number1_2>123456789</number1_2>
<number2_2>987654321</number2_2>
</phone>
</contact>
</name>
<name value="test1">
<contact>
<id>1</id>
<Name>myname mylastname</Name>
<phone>
<number1_1>123456789</number1_1>
<number2_1>987654321</number2_1>
</phone>
</contact>
</name>
</root>
有人能给我一个提示或一行代码我怎么能做到这一点
元素(“名称”)返回与名称匹配的第一个元素。这就是为什么您需要查询
元素
.Elements("Name").First(x => (string)x.Attribute("value") == "test1")
它应该会起作用。整个代码如下所示:
xmldoc.Element("root")
.Elements("Name").First(x => (string)x.Attribute("value") == "test1").Add(
new XElement("contact",
new XElement("id", "2"),
new XElement("Name", "notset"),
new XElement("phone",
new XElement("number1_1", "notset"),
new XElement("number2_1", "notset")
)
)
);
xmldoc.Element("root")
.Elements("Name").First(x => (string)x.Attribute("value") == "test1").Add(
new XElement("contact",
new XElement("id", "2"),
new XElement("Name", "notset"),
new XElement("phone",
new XElement("number1_1", "notset"),
new XElement("number2_1", "notset")
)
)
);