【发布时间】:2020-02-27 16:23:34
【问题描述】:
如果我有以下 xml:
<Employees>
<Person>
<ID>1000</ID>
<Name>Nima</Name>
<LName>Agha</LName>
</Person>
<Person>
<ID>1002</ID>
<Name>Ligha</Name>
<LName>Ligha</LName>
</Person>
<Person>
<ID>1003</ID>
<Name>Jigha</Name>
<LName>Jigha</LName>
</Person>
</Employees>
我想在索引节点之后添加一个新节点,并将剩余的人节点添加为这个新节点的子节点。
所以添加后的新xml如下所示:
<Employees>
<Person>
<ID>1000</ID>
<Name>Nima</Name>
<LName>Agha</LName>
</Person>
<RefNode>
<Person>
<ID>1002</ID>
<Name>Ligha</Name>
<LName>Ligha</LName>
</Person>
<Person>
<ID>1003</ID>
<Name>Jigha</Name>
<LName>Jigha</LName>
</Person>
</RefNode>
</Employees>
到目前为止,我已经尝试过使用
ElementAt(index).AddAfterSelf()
但这只是将它添加到下一行,并没有将接下来的两个 Person 添加为子项。
【问题讨论】:
-
分两步完成。首先创建新的 XElement AfterSelf。然后将节点移动到新元素中。
-
我想你误解了
AddAfterSelf()方法的作用,请参考这个documentation。该方法不会将下一个节点作为新添加节点的子节点移动。
标签: c# xml linq-to-xml