.net – Linq-to-XML获取带命名空间的元素

我正在使用 linq-to-xml来搜索元素.

var doc = XDocument.Load(reader);
                    var ns = doc.Root.Attribute("xmlns").Value;
                    var result = (from u in doc.Descendants(XName.Get("MyElement",ns))

每当我尝试在xml中找到一个元素时,我都需要摆脱使用XName.Get.如何为XDocument设置认命名空间,以便在搜索时不会打扰.

问候.

解决方法

如果你真的想这样做,这是忽略认命名空间的一种方法

XDocument doc;
        using (XmlTextReader xr = new XmlTextReader("input.xml"))
        {
            xr.Namespaces = false;
            doc = XDocument.Load(xr);
        }
        foreach (XElement bar in doc.Descendants("bar"))

但我建议接受XML中名称间的存在和重要性,并使用LINQ to XML提供的XName和XNamespace对象来处理它们.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念