我正在使用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))
Run Code Online (Sandbox Code Playgroud)
每当我尝试在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"))
Run Code Online (Sandbox Code Playgroud)
但我建议接受XML中名称空间的存在和重要性,并使用LINQ to XML提供的XName和XNamespace对象来处理它们.
| 归档时间: |
|
| 查看次数: |
3879 次 |
| 最近记录: |