在 XCData 中插入 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", ....)), 解决这个问题的简单方法是什么?
I'm modifying an XML generator script that pulls data from a Sharepoint list, and generates XML from it.
One section of the XML looks like:
<node>
<node2>
<![CDATA[
<p>Some text</p>
]]>
</node2>
<otherNodesHere>Yadda yadda</otherNodesHere>
</node>
The data being pulled from a data list is going to be "Some text" without the surrounding P tags.
So, what I'm wanting to do is (snippet):
new XElement("node",
new XElement("node2",
new XCData(
new XElement("p", variableForTheDatainSP)),
But I can't do new XCData(new XElement("p", ....)),
What would be a simple way to go about this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Some text
实际上并不是
XElement
- 它只是看起来像 XML 的文本。因此,您可以使用:或者如果您想通过一个
XElement
构建它,您可以随时调用ToString()
:The
<p>Some text</p>
isn't really anXElement
- it's just text that looks like XML. So you'd use:Or if you wanted to build it via an
XElement
, you could always callToString()
:那不是一个元素。
CDATA
块的全部要点是它们只能保存纯文本。如果要将类似于 XML 的纯文本放入
CDATA
块中,可以传递new XElement(...).ToString()
来获取原始 XML 字符串。That's not an element.
The whole point of
CDATA
blocks is that they can only hold plain text.If you want to put plain text that looks like XML into the
CDATA
block, you can passnew XElement(...).ToString()
to get the raw XML string.