#vb.net #linq-to-xml
#vb.net #linq-to-xml
Вопрос:
У меня есть этот XML:
<root>
<data name="lnkViewResultResource1.Text" xml:space="preserve">
<value>bekijk de resultaten</value>
</data>
<data name="lnkVoteResource1.Text" xml:space="preserve">
<value>stem</value>
</data>
<data name="number of results" xml:space="preserve">
<value>er waren reeds {0} stemmen op deze poll {1}</value>
</data>
</root>
Я хочу получить значения «data», и для этого я использовал:
Public Shared Function getlabels(ByVal filename As String) As Array
Dim labels = From l In XElement.Load(filename).Descendants("root").Elements("data") Select l
Return labels.ToArray
Но, к сожалению, это не работает, он ничего не получает.
Есть идеи?
Заранее спасибо.
Alf.
Ответ №1:
Вы загружаете <root>
XElement
и запрашиваете у него вызываемых потомков root
. Просто избавьтесь от Descendants("root")
вызова, и все должно быть в порядке.
С другой стороны, выражение запроса довольно бессмысленно… просто используйте:
Return XElement.Load(filename).Elements("data").ToArray
Ответ №2:
Попробуйте
Dim labels = From l In XElement.Load(filename).Descendants("data") Select l