XML意外令牌

时间:2014-08-27 19:14:33

标签: c# xml

我正在尝试使用TVRage获取节目列表 - 提供的示例使用此:

Show show = new Show(showName);

XElement xml = XDocument.Load("http://www.tvrage.com/feeds/episode_list.php?show=" + showName).Element("Show");

错误是:

  

"'文本'是一个意外的令牌。预期的令牌是' \"'或'''

我找不到任何信息

2 个答案:

答案 0 :(得分:2)

这是因为您的搜索返回了错误,原因有两个:

  • 您网址的初始部分是错误的 - 您必须通过www
  • 而不是传递services
  • episode_list API不显示节目名称,需要显示ID。

试试这个:

XElement xml = XDocument.Load("http://services.tvrage.com/feeds/episode_list.php?sid=" + showId).Element("Show");

要按节目名称查找节目ID,请通过查询此URL执行搜索:

"http://services.tvrage.com/feeds/search.php?show=" + showName

结果如下:

<Results>
    <show>
        <showid>6190</showid> <!-- <<<<<<< Grab this number -->
        ...
    </show>
</Results>

将您从搜索中获得的showId插入上面的网址,以获取剧集列表。

答案 1 :(得分:1)

根据您的变量,您似乎期待ShowName。如果您只有一个节目名称,那么您需要检索与给定名称匹配的节目列表:

XElement xml = XDocument.Load("http://services.tvrage.com/feeds/search.php?show=" + showName).Element("Show");

这将返回与搜索条件匹配的所有节目。它可能包括你不想要的节目。

从那里你可以在XML Results中检索你想要的节目的ShowID,并使用dasblinkenlight的答案来检索该特定节目ID的剧集列表。

出于API参考目的:http://services.tvrage.com/info.php?page=main