当前位置:  开发笔记 > Android > 正文

有没有办法在Linq-to-XML查询中仅使用本地名称检索元素?

如何解决《有没有办法在Linq-to-XML查询中仅使用本地名称检索元素?》经验,为你挑选了1个好方法。

让我们假设我们有这个xml:



    
        
    
 

要检索RegistryErrorList元素,我们可以这样做

XDocument doc = XDocument.Load();
XNamespace ns = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0";
XElement errorList = doc.Root.Elements( ns + "RegistryErrorList").SingleOrDefault();

但不是这样的

XElement errorList = doc.Root.Elements("RegistryErrorList").SingleOrDefault();

有没有办法在没有元素名称空间的情况下进行查询.基本上是在XPath中使用local-name()有一些特别相似的东西(即//*[local-name()='RegistryErrorList'])



1> Mark Cidade..:
var q = from x in doc.Root.Elements()
        where x.Name.LocalName=="RegistryErrorList"
        select x;

var errorList = q.SingleOrDefault();

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有