c# - 在 XCData 中插入 XElement

标签 c# linq-to-xml xelement

我正在修改一个 XML 生成器脚本,该脚本从 Sharepoint 列表中提取数据,并从中生成 XML。

XML 的一部分如下所示:

<node>
    <node2>
        <![CDATA[
            <p>Some text</p>
        ]]>
    </node2>
    <otherNodesHere>Yadda yadda</otherNodesHere>
</node>

从数据列表中提取的数据将是“一些文本”,没有周围的 P 标签。

所以,我想要做的是(片段):

new XElement("node",
    new XElement("node2",
        new XCData(
            new XElement("p", variableForTheDatainSP)),

但我不能做 new XCData(new XElement("p", ....)), 解决这个问题的简单方法是什么?

最佳答案

<p>Some text</p>不是真正 XElement - 它只是看起来像 XML 的文本。所以你会使用:

new XElement("node",
    new XElement("node2",
        new XCData("<p>Some text</p>")))

或者,如果您想通过构建它 XElement ,您可以随时调用ToString() :

new XElement("node",
    new XElement("node2",
        new XCData(
            new XElement("p", variableForTheDatainSP).ToString()),

关于c# - 在 XCData 中插入 XElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975306/

相关文章:

c# - 是否有用于 .NET 的通用对象池?

c# - 如何使用 LINQ-to-XML 选择特定节点

c# - 如何获取小部件的索引以及为什么它只给出第一个值

c# - 如何将通用项添加到绑定(bind)到 WPF 中的集合的 ComboBox

c# - 有 Dapper executenonquery 吗?我怎么知道我的更新是否有效?

c# - 将指向对象的非托管 C++ 指针转换为托管 C# 对象

c# - 如何对这些 XDocuments 进行分组?

c# - If : XElement Exists, Else 新建一个

c# - 将对象列表转换为 xml 字符串

c# Elements of elements 使用 XElement