如果已经回答道歉 - 我已经看到了类似的PHP问题,但我的问题是专门针对VB的。
我有一些看起来像这样的XML:
<artist ...>
<name>XYZ</name>
<relation-list target-type="artist">
<relation type-id="5be4c609-9afa-4ea0-910b-12ffb71e3821" type="member of band">
<target>0dfd6aab-9056-4764-89b0-80bee7c9f998</target>
</relation>
...
</relation-list>
</relation-list target-type="url">
<relation type-id="29651736-fa6d-48e4-aadc-a557c6add1cb" type="wikipedia">
<target id="713a661b-b33a-4e91-95b3-05e679ab8506">http://en.wikipedia.org/wiki/The_Who</target>
</relation>
...
</relation-list>
</artist>
我想提取指定目标类型的关系列表中的所有关系。所以我认为有一个类似于以下内容的Where子句会相对容易:
Dim artistrels = From u In response...<relation-list> _
Where u.@target-type = "artist"
Select ...
但VS2012不喜欢你。@ target-type所以我猜目标类型在某种程度上是一个保留字。我已经尝试过使用各种方法将名称指定为文字(双引号,方括号等)并且还没有找到一种方法(哦,以获取全面的Linq语言语法参考!)。有没有人对这个问题有答案?
答案 0 :(得分:0)
-
是个问题。您必须将您的属性名称放在<>
:
Dim artistrels = From u In response...<relation-list> _
Where u.@<target-type> = "artist"
Select ...