【发布时间】:2009-06-23 20:59:31
【问题描述】:
我是 Linq 的新手,当我尝试使用 where 执行查询时遇到了一些奇怪的结果。
xml 示例:
<movies>
<movie id="1">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist A</sceneartistname>
</sceneartistsnames>
</scene>
<scene id="2">
<sceneartistsnames>
<sceneartistname>Artist B</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
<movie id="10">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist B</sceneartistname>
<sceneartistname>Artist A</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
</movies>
现在尝试选择艺术家 A 所在的所有场景。
Dim Results = From MovieWithArtist In MoviesXML...<scene> _
Where MovieWithArtist.<sceneartistsnames>.<sceneartistname>.Value = "Artist A" _
Select MovieWithArtist
我只有一个场景返回,我期待两个。 :(
现在,如果我将 XML 中的第二个场景更改为:
<movie id="10">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist A</sceneartistname>
<sceneartistname>Artist B</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
然后我得到两个场景返回。
我做错了什么?
谢谢大家。
【问题讨论】:
-
您是要获取包含特定艺术家的“电影”还是包含特定艺术家的“场景”?
-
你好 orandov,正在尝试获取包含特定艺术家的“场景”。谢谢。
标签: xml vb.net linq linq-to-xml