【问题标题】:XElement Replacement when Child Elements and Value Exist子元素和值存在时的 XElement 替换
【发布时间】:2015-04-03 10:45:39
【问题描述】:

我有一些 Xml,我正在尝试更改 XElement 的名称。 XElement 包含两个子元素和一个与此类似的值

<parent>
  Hi I am a value <a href="link">link</a>
</parent>

我尝试使用建议的方法here,但我只能复制元素或值。首先设置元素,然后值清除元素。

<newparent>
  Hi I am a value link
</newparent>

复制值,然后元素复制元素文本

<newparent>
  Hi I am a value link <a href="link">link</a>
</newparent>

对值本身的字符串操作会转义所有括号。

<newparent>
  Hi I am a value link &lt;a href="link"&gt;link&lt;/a&gt;
</newparent>

有人知道如何实现将值和元素正确复制到新创建的元素的结果吗?

【问题讨论】:

    标签: c# xml linq replace linq-to-xml


    【解决方案1】:

    如果我正确地回答了您的问题,您希望将所有子节点复制到具有不同名称的新父节点。如果是这样,请使用Nodes() 方法。

    XElement parent = XElement.Parse("<parent>Hi I am a value <a href=\"link\">link</a></parent>");
    var newparent = new XElement("newparent", parent.Nodes());
    

    【讨论】:

    • 做到了。非常感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多