2010-07-26 37 views

回答

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字符串,然后在将其添加回对象模型之前进行解析(我想这就是它至少要工作的方式)。

+0

我正在使用XLinq和XML Literals来执行转换,就像您使用XSLT所做的一样。目前,我有大约200行的XML文字块进行转换。属性值和文本是使用'<%= myElement.ExtensionMethod()%>块生成的。我希望能够将一些XML文字块分解成它们自己的方法,并返回一个嵌入到XML文本主要块中的XElement。 – GiddyUpHorsey 2010-07-26 15:15:22

+0

你的解决方案将工作,但我宁愿不转换为字符串,然后解析回XElement。我希望有一种更自然的方式来做到这一点。 – GiddyUpHorsey 2010-07-26 15:18:13

+0

您可以使用XDocument/XElement构造函数和文字混合来创建根文档(想想C#-er必须如何执行),而不是使用所有XML文字。也可以通过LINQ-to-XML将XElements添加到文档中以插入到特定的目标区域。 – Ocelot20 2010-07-26 15:30:21