在VB.NET中,我可以使用<xml><%= "my string" %></xml>
轻松地将字符串嵌入到XML文字中。如何将XElements嵌入到VB.NET中的XML文字中?
如何嵌入XElement
实例?
我知道我可以在XElement,XNode等类上使用方法,但是如果可能的话,我想在XML文字中使用它。
在VB.NET中,我可以使用<xml><%= "my string" %></xml>
轻松地将字符串嵌入到XML文字中。如何将XElements嵌入到VB.NET中的XML文字中?
如何嵌入XElement
实例?
我知道我可以在XElement,XNode等类上使用方法,但是如果可能的话,我想在XML文字中使用它。
原来我可以简单地做到以下几点:
Function GetSomeMoreXml() As XElement
Return <moreXml/>
End Function
Sub Main()
Dim myXml = <myXml>
<%= GetSomeMoreXml() %>
</myXml>
End Sub
这是非常整洁。它允许我将我的XML文字分解为更易于管理的块。
如果你真正需要做的是,你总是可以只是这样做:
<xml><%= myXElement.ToString() %></xml>
我想不出,你会想,虽然做到这一点的任何例子。仔细阐述为什么你需要这个?它必须写出XElement字符串,然后在将其添加回对象模型之前进行解析(我想这就是它至少要工作的方式)。
我正在使用XLinq和XML Literals来执行转换,就像您使用XSLT所做的一样。目前,我有大约200行的XML文字块进行转换。属性值和文本是使用'<%= myElement.ExtensionMethod()%>块生成的。我希望能够将一些XML文字块分解成它们自己的方法,并返回一个嵌入到XML文本主要块中的XElement。 – GiddyUpHorsey 2010-07-26 15:15:22
你的解决方案将工作,但我宁愿不转换为字符串,然后解析回XElement。我希望有一种更自然的方式来做到这一点。 – GiddyUpHorsey 2010-07-26 15:18:13
您可以使用XDocument/XElement构造函数和文字混合来创建根文档(想想C#-er必须如何执行),而不是使用所有XML文字。也可以通过LINQ-to-XML将XElements添加到文档中以插入到特定的目标区域。 – Ocelot20 2010-07-26 15:30:21