我该如何在VB.NET的XML文字中嵌入XElements?

5

在VB.NET中,我可以使用<xml><%="my string"%></xml>轻松地将字符串嵌入XML文字。

如何嵌入XElement实例?

我知道我可以在XElement、XNode等类上使用方法,但如果可能的话,我想在XML文本中完成它。

2个回答

7
我可以简单地按照以下步骤进行操作:
Function GetSomeMoreXml() As XElement
   Return <moreXml/>
End Function

Sub Main()
   Dim myXml = <myXml>
                  <%= GetSomeMoreXml() %>
               </myXml>
End Sub

这很不错。它允许我将我的XML文字面量分解成更易处理的块。


-1

如果你真的需要这样做,你总是可以这样做:

<xml><%= myXElement.ToString() %></xml>

我想不出任何你想要这样做的例子。能否详细说明一下为什么需要这样做?它将不得不编写XElement字符串,然后解析它,然后再将其添加回对象模型中(至少我想是这样工作的)。

我正在使用XLinq和XML Literals执行转换,类似于您使用XSLT进行的操作。目前,我有一个大约200行长的XML文本块,可以执行转换操作。属性值和文本使用“<%= myElement.ExtensionMethod() %>”块生成。我希望将XML文本块中的一些块分解成它们自己的方法,并返回一个嵌入到主XML文本块中的XElement。 - John Mills
你的解决方案可以工作,但我不想将其转换为字符串,然后再解析回XElement。我希望有一种更自然的方法来做到这一点。 - John Mills
不必全部使用XML文本,可以混合使用XDocument / XElement构造函数和文本来创建根文档(考虑C#程序员如何执行此操作)。或者通过LINQ-to-XML将XElement添加到文档中以插入特定目标区域。 - Ocelot20

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接