<data>
<food>
<id>1</id>
<name>asparagus</name>
<catlog>7190</catlog>
</food>
<food>
<id>2</id>
<name>almonds</name>
<catlog>7190</catlog>
</food>
<food>
<id>3</id>
<name>asparagus</name>
<catlog>7192</catlog>
</food>
<food>
<id>4</id>
<name>asparagus</name>
<catlog>7193</catlog>
</food>
</data>
我想获得独特的catlogs,所以从这个列表中我只想提取7190,7192和7193.我有一个脚本,通过使用它将其放入下拉列表:
DropDownList1.DataSource = dv
DropDownList1.DataBind()
但我需要它才能获得唯一的值。
答案 0 :(得分:2)
看看LINQ to XML!有了这个,你就可以直接查询一个xml的blob,但比使用XPATH(你也可以用来做同样的任务)更少头痛。
然后,您可以将数据源指向来自XML blob的LINQ查询的结果。
答案 1 :(得分:0)
尝试以下
Public Function Unique(ByVal doc As XDocument) As IEnumerable(Of String)
Return doc...<catalog>.Select(Function(x) CType(x,Integer)).Distinct()
End Function
快速注意:CType最初可能看起来很奇怪,但它确实有效,因为XElement类为许多值类型(包括Integer)定义了显式转换运算符。
答案 2 :(得分:0)
Dim newTable As DataTable = dataView.ToTable( True, "Category")
DropDownList1.DataSource = newTable
DropDownList1.DataBind()