Dim root As XElement = XElement.Load(xmlFile)
Dim stuff =
From item In root.Elements("abc") Select item
Debug.Print(stuff.Count)
XMLの内容は次のとおりです。
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<abc xmlns="foo">1</abc>
<abc xmlns="foo">2</abc>
<abc xmlns="foo">3</abc>
</Workbook>
Workbookタグの先頭にあるxmlns="urn:schemas-microsoft-com:office:spreadsheet"を削除すると、正しい結果が3になります。
ETA別の名前空間(この場合は「foo」)が埋め込まれている場合はどうすればよいですか