在Windows 8 Store App中使用命名空间读取XML

时间:2012-11-19 23:32:22

标签: c# xml windows-8 windows-runtime

我正在开发一个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/");

1 个答案:

答案 0 :(得分: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简介或教程,你应该看看如何处理命名空间 - 但它确实比使用XmlDocument简单得多。您根本不需要命名空间管理器! (可能有一些的情况,它们仍然有用 - 我不确定 - 但我当然不记得自己使用LINQ to XML了。)