我试图得到的值Address
从以下XML文本元素,但它没有找到它,除非我删除xmlns="http://www.foo.com"
从Root
元素。 然而,XML是即使它有效。 这里有什么问题吗?
因为我越来越从Web服务的XML文本,我不拥有控制权,但我可以剥离出xmlns
的一部分,如果我必须作为最后的手段。
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.foo.com">
<Address>Main St SW</Address>
</Root>
var doc = XDocument.Parse(xmlTextAbove);
var address = doc.Descendants().Where(o => o.Name == "Address").FirstOrDefault();
Console.WriteLine(address.Value); // <-- error, address is null.