替换过时的System.Xml.XmlDataDocument?

Nic*_*ick 17 xml vb.net asp.net transform dataset

我在从.NET 2.0升级到.NET 4.0的webforms应用程序中有一个System.Web.UI.WebControls.Xml控件(Xml1)

我从代码隐藏页面得到两个警告,我想做些什么.

... 
Dim ds As DataSet = app.GetObjects
Dim xmlDoc As New System.Xml.XmlDataDocument(ds)
Xml1.Document = xmlDoc
Xml1.TransformSource = "~/xslt/admin_objectslist.xslt"
...
Run Code Online (Sandbox Code Playgroud)

从第二行我得到警告:

'System.Xml.XmlDataDocument'已过时:'XmlDataDocument类将在以后的版本中删除.'.

从第三行我得到警告:

'Public Property Document As System.Xml.XmlDocument'已过时:'建议的替代方法是XPathNavigator属性.创建System.Xml.XPath.XPathDocument并调用CreateNavigator()以创建XPathNavigator.

推荐的.NET 4.0替代品是什么?

Ben*_*Ben 27

ds.I也遇到了这个问题.这是我想出的:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(ds.GetXml());
xml1.XPathNavigator = xmlDoc.CreateNavigator();                
xml1.TransformSource = @"~/XSLT/LogEntryTransform.xslt";
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.


小智 0

使用 Linq2XML - 它比任何其他 XML 工具都更强大......允许您查询和创建/读取/更新/删除 (CRUD) XML,就像处理数据集或其他强类型数据源一样。

一旦开始使用 Linq,您将永远不会回到旧的方式......它绝对震撼!

  • 虽然您认为 Linq 是 MS 批准的用于处理 xml 的升级是正确的,但您的答案需要代码来显示如何执行您正在谈论的操作才能完整。 (6认同)