我正在编写我的第一个用于XML查询的LINQ,但没有成功。我有以下代码:
Dim xmlIn = XDocument.Load("wiktionary.xml")
Dim xmlOut = <namespaces>
<%= From ns In xmlIn...<mediawiki>.<page>.<ns>
Select ns %>
</namespaces>
My.Computer.FileSystem.WriteAllText("wiktionaryout.xml", xmlOut.ToString, False)
Process.Start("wiktionaryout.xml")
XML的格式为
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.10/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.10/ http://www.mediawiki.org/xml/export-0.10.xsd" version="0.10" xml:lang="af">
<siteinfo>
...
</siteinfo>
<page>
<title>MediaWiki:Edithelppage</title>
<ns>8</ns>
<id>21</id>
</page>
</mediawiki>
我正在尝试提取<ns>
标签之间的值的不同列表。目前,我只是想获取所有值的列表,但它只是带回了
<?xml version="1.0"?>
<namespaces/>
有人知道我要去哪里吗?
答案 0 :(得分:1)
尝试以下操作:
Imports System.Xml
Imports System.Xml.Linq
Module Module1
Const FILENAME As String = "c:\temp\test.xml"
Sub Main()
Dim doc As XDocument = XDocument.Load(FILENAME)
Dim ns As List(Of String) = doc.Descendants().Where(Function(x) x.Name.LocalName = "ns").Select(Function(x) CType(x, String)).Distinct().ToList()
End Sub
End Module