加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 23:23:24 所属栏目:百科 来源:网络整理
导读:我正在使用 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.如
我正在使用 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对象来处理它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读