0

抱歉,如果这已经得到回答 - 我已经看到了 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 不喜欢 u.@target-type 所以我猜 target-type 是一个保留字。我已经尝试使用各种方法将名称指定为文字(双引号、方括号等),但还没有找到这样做的方法(哦,对于某处的综合 Linq 语言语法参考!)。有人对此有答案吗?

4

1 回答 1

0

-这里是个问题。您必须将属性名称放入<>

Dim artistrels = From u In response...<relation-list> _
                 Where u.@<target-type> = "artist"
                 Select ...
于 2013-09-13T10:40:10.133 回答