使用 XPathNavigator 重命名元素
我有一个指向 XML 元素的 XPathNavigator 对象。我想将该元素重命名为另一个名称(并重命名关联的结束元素)。这可以使用 XPathNavigator 来完成吗?
(我有一个解决方法,即删除元素并以不同的名称重新插入它,但这可能会导致性能问题,因为我正在处理非常大的文档)
I have an XPathNavigator object pointing to an XML element. I want to rename the element to another name (and also rename the associated end element). Can this be done using the XPathNavigator?
(I have a work-around, which is to Delete the element and re-insert it under a different name, but this may cause a performance issue, because I am handling very large documents)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这取决于您的底层 XML 文档表示是什么。如果您正在使用 XDocument,您可以这样做:
我认为 XmlDocument(除非您建议的除外)或 XPathDocument 不可能。
It depends on what your underlying XML document representation is. If you are using XDocument you can do:
I don't think it is possible with XmlDocument (except as you suggest), or XPathDocument.
对于对这个问题感兴趣的其他人,如果我正确理解了这个问题,并且您想要重命名元素节点,那么我发现使用 ReplaceSelf 从 XPathNavigator 可以轻松实现这一点。我正在使用 .Net Framework 版本 4.0,但这看起来已经存在了一段时间了。
(快速 C# 示例)
For anyone else interested in this question, and if I understand the question correctly, and you want to rename an element node, then I see that it's very easily doable from XPathNavigator using ReplaceSelf. I'm using .Net framework version 4.0, but this looks like it's been around for a while.
(quick C# example)