1

私は WinRT アプリに取り組んでおり、名前空間を含む XML を準備する必要があります。これは古い .NET では問題ありませんでしたが、XmlDocument.NameTable はなくなりました。では、XmlNamespaceManager を作成するにはどうすればよいでしょうか。

var XmlDoc = new XmlDocument();

XmlDoc.Load(new FileStream("XMLFile1.xml",FileMode.Open,FileAccess.Read));
var nsm = new XmlNamespaceManager(XmlDoc.NameTable);
nsm.AddNamespace("s", "http://api.facebook.com/1.0/");
4

1 に答える 1

1

LINQ to XML を使用して名前空間を処理する方がはるかに簡単です。これは、Windows 8 で使用できるものだと思います

XDocument doc = XDocument.Load(...);
XNamespace ns = "http://api.facebook.com/1.0/";
XElement element = doc.Root.Element(ns + "foo");

優れた LINQ to XML の紹介またはチュートリアルを読むと、名前空間の処理方法がわかるはずですが、実際には .xml を使用するよりもはるかに簡単ですXmlDocument。名前空間マネージャーはもう必要ありません。(まだ有用な場合もあるかもしれませんが、確かではありませんが、LINQ to XML でそれらを自分で使用したことは確かに覚えていません。)

于 2012-11-19T23:36:49.390 に答える