VB.NET XML文字解析

时间:2009-09-04 19:27:00

标签: xml vb.net xml-literals

如果我有一个文本存储在db,file,资源无关紧要:

<code><%= Integer.MaxValue %></code>

有没有办法做到这一点:

Dim el As XElement = XElement.Parse({variable containing text above})

并让它评估表达式Integer.MaxValue?

3 个答案:

答案 0 :(得分:2)

简短的回答是否定的。编译器知道如何解析它并用类似于C#代码的东西替换你的源代码。

测试代码:

Dim source As String = "a,s,d,f"
Dim ar As String() = source.Split(","c)
Dim el As XElement = <code>
                         <%= From s In ar Select s + "22" %>
                     </code>

反映代码:

Dim VB$CG$t_i4$S0 As Integer
Dim ar As String() = "a,s,d,f".Split(New Char() { ","c })
Dim VB$t_ref$S0 As New XElement(XName.Get("code", ""))
VB$t_ref$S0.Add(ar.Select(Of String, String)(New Func(Of String, String)(AddressOf Test._Lambda$__1)))
Dim el As XElement = VB$t_ref$S0

答案 1 :(得分:1)

不容易。最接近你可以使用CodeDOM生成一些代码 - 你需要生成一个包装器模块和Function Return,然后将数据库中的表达式放入Return编译它(并检查编译错误),运行它,然后查看结果。总而言之,这将是非常缓慢的。

答案 2 :(得分:0)

我认为关键是了解嵌入式表达式的工作原理。我已将此问为a separate question