我遇到了一个试图在visual studio中使用xml文件的问题,希望有人可以为我指出我的错误。我想要做的是读取所有子元素,然后从父母那里找到最长的孩子。
我已经尝试了很多这种代码的变体,对于循环,LINQ查询等,似乎无法使其按预期工作。我得到两个错误之一,空引用异常或:
System.Linq.Enumerable+WhereSelectEnumerableIterator`2[VB$AnonymousType_1`3[System.Xml.Linq.XElement,System.String,System.Int32],System.Int32]
这是我的代码,我希望有人可以解释为什么这对xml文件不起作用,因为它几乎与我在这一点上所做的其他事情一起工作。谢谢!
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
Dim States As XElement = XElement.Load("USStates.xml")
Dim query = From na In States.Descendants("state")
Let names = na.<name>.Value
Let length = names.Length
Order By length Descending
Select length
TextBox1.Text = query.ToString
End Sub
答案 0 :(得分:0)
我发现了我的问题,我使用以下代码解决了我的问题:
Dim query = From st In States.Descendants("state")
Let stateName = st.<name>.Value
Let length = stateName.Length
Order By length Descending
Select stateName
For Each item In query
If item.Length > 10 Then
output.Items.Add(item)
End If
Next