具有XDocument命名空间问题的Linq-to-XML

我有这个XML文档:

    01 ABN Amro Bank   02 ASN Bank    

这不起作用:

 var banks = doc.Descendants("issuer").Select(x => new Bank(Convert.ToInt32(x.Element("issuerid").Value), x.Element("issuername").Value)).ToList(); 

但是当我手动删除目录响应xml命名空间xmlns="https://www.sisow.nl/Sisow/REST"它可以工作! 命名空间url是404 。 那么为什么xdoc如果它是404就不会忽略命名空间呢?

这也行不通: var banks = doc.Elements().Where(e => e.Name.LocalName == "issuer" ).Select(...

主要问题是:如何修改代码以使其忽略404名称空间?

URL本身在这里是无关紧要的 – 它只是命名空间的一个标记,真的。 我不相信LINQ to XML会尝试获取它。

但是,您需要使用它来构造XName以搜索:

 XNamespace ns = "https://www.sisow.nl/Sisow/REST"; var banks = doc.Descendants(ns + "issuer") .Select(x => new Bank((int) x.Element(ns + "issuerid"), (string) x.Element(ns + "issuername")) .ToList();