.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对象来处理它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |