LINQ to XML:上下移动节点的最有效方法是什么
我需要在某些节点之前和之后移动同级节点。这是我正在使用的代码,
<tabs>
<tab>
<name>Overview</name>
</tab>
<tab>
<name>Testing</name>
</tab>
<tab>
<name>Performance</name>
</tab>
<tab>
<name>Braking</name>
</tab>
</tabs>
我想将带有测试的选项卡移至概述上方。我将如何使用 linq to XML 来解决这个问题?
I need to move sibling nodes before and after certain nodes. Here is the code im working with
<tabs>
<tab>
<name>Overview</name>
</tab>
<tab>
<name>Testing</name>
</tab>
<tab>
<name>Performance</name>
</tab>
<tab>
<name>Braking</name>
</tab>
</tabs>
I would like to move the tab with testing in it above Overview. How would I go about this using linq to XML?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用以下内容:
不确定您的 XML 结构有多少是固定的/已知的。
You can use something like:
Not sure how much of your XML structure is fixed / known.
我知道这篇文章很旧,但我今天遇到了同样的问题,最终以这种方式解决:
I know this post is old, but I came up with the same issue today and end up resolving it this way:
您可以通过删除元素然后将它们重新插入到所需的位置来移动元素:
或者,您可以按照所需的顺序从现有元素创建一个新文档:
我还没有测试过它,但这可能有效:
You can move the elements by removing them and then reinserting them at the desired position:
Alternatively, you can create a new document from the existing elements in the desired order:
I haven't tested it, but this might work:
抱歉,这是 VB.NET 和 XML Literals,但它可以用 C# 来完成。这里的想法是使用
Reverse
扩展方法:Sorry, this is VB.NET and XML Literals, but it can be done old school in C#. The idea here is to use the
Reverse
extention method: