【问题标题】:Can i embed LINQ results into CDATA?我可以将 LINQ 结果嵌入到 CDATA 中吗?
【发布时间】:2011-06-02 23:19:47
【问题描述】:
我可以将 LINQ 查询(在下一个示例 c.day 中)返回的值与 CDATA 之类的...
Dim Result = <items>
<%= From c In db.News Select _
<item>
<day><![CDATA[<font size="30" color="#7CBEBD"><%= c.day %></font>]]></day>
</item> %>
</items>
【问题讨论】:
标签:
html
xml
vb.net
linq-to-xml
cdata
【解决方案1】:
我认为您不能在 VB.NET 中使用 CDATA 节文字和其中的嵌入表达式,但您当然可以使用 new XCData() 构造一个 CDATA 节节点,如下例所示:
Dim words As String() = {"foo", "bar", "baz"}
Dim doc As XDocument =
<?xml version="1.0"?>
<root>
<items>
<%= From word In words
Select <item>
<%= New XCData("<font size=""3"">" + word + "</font>") %>
</item>
%>
</items>
</root>
序列化为
<root>
<items>
<item><![CDATA[<font size="3">foo</font>]]></item>
<item><![CDATA[<font size="3">bar</font>]]></item>
<item><![CDATA[<font size="3">baz</font>]]></item>
</items>
</root>