更新Vb.net已弃用的代码

时间:2011-12-09 15:23:13

标签: vb.net

我是vb的新手,这是我正在处理的代码:

Dim InputDoc As XmlDocument = New XmlDocument()
InputDoc.LoadXml(tem)
Dim Transformer As XslCompiledTransform = New XslCompiledTransform()

Transformer.Load(Server.MapPath("D/" & T))
Dim xmlCtl As System.Web.UI.WebControls.Xml = New System.Web.UI.WebControls.Xml
xmlCtl.Document = InputDoc
xmlCtl.Transform = Transformer
Controls.Add(xmlCtl)

我将XslTranform更改为XslCompiledTranform - 这是正确的做法吗? 但我仍然得到一些其他错误,因为xmlCtl.Document是obselete,xmlCtl.Transform的值无法转换为Transformer。我使用的是.Net 4.0。有人可以告诉我如何解决这些问题吗?

1 个答案:

答案 0 :(得分:1)

  

我将XslTranform更改为XslCompiledTranform - 这是正确的做法吗?

至于this post是的,这是正确的做法。 显然,转换大型文档时memory leakage存在问题。所以我想对此保持警惕。

  

但是由于xmlCtl.Document是obselete并且xmlCtl.Transform的值无法转换为Transformer

,我仍然得到其他一些错误

如果您不打算进行XSLT转换,这是正确的。

Dim xmlCtl As System.Web.UI.WebControls.Xml = New System.Web.UI.WebControls.Xml

但是你想使用XSLT,因此无法使用。

创建XPathDocument并致电CreateNavigator() 使用XPathNavigator执行XSLT转换。

This post讨论了如何使用xml Web控件和xslt。

您也可以查看this

This uses XslCompiledTransform并且应该是ASP.NET Xml控件的替代品。适用于整合XSLCompiledTransform

无论如何,我希望其中一些有所帮助。