web-dev-qa-db-ja.com

廃止されたSystem.Xml.XmlDataDocumentを置き換えますか?

.NET2.0から.NET4.0にアップグレードしたWebフォームアプリにSystem.Web.UI.WebControls.Xmlコントロール(Xml1)があります。

コードビハインドページから、何かしたいという2つの警告が表示されます。

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

2行目から、警告が表示されます。

「System.Xml.XmlDataDocument」は廃止されました:「XmlDataDocumentクラスは将来のリリースで削除される予定です。」.

そして3行目から警告が表示されます:

'Public Property Document As System.Xml.XmlDocument'は廃止されました: '推奨される代替手段はXPathNavigatorプロパティです。 System.Xml.XPath.XPathDocumentを作成し、CreateNavigator()を呼び出してXPathNavigatorを作成します。

これに推奨される.NET4.0の代替品は何ですか?

18
Nick

ds.3.5でもこの問題に遭遇しました。これが私が思いついたものです:

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

それが役に立てば幸い。

27
Ben

Linq2XMLを使用します-他のどのXMLツールよりもはるかに強力です....データセットや他の強く型付けされたデータソースと同じように、XMLをクエリおよび作成/読み取り/更新/削除(CRUD)できます。

Linqを使い始めたら、昔のやり方に戻ることは決してありません...それは絶対に素晴らしいです!

2
Mike