2014-08-27 81 views
1

我試圖讓使用TVRage節目的列表 - 提供一個示例使用此:XML意外的標記

Show show = new Show(showName); 

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

的錯誤是:

「‘文本’是一個意外標記。預期令牌是「\「」或‘’'

我無法找到任何信息

+3

xml是什麼樣的?您收到錯誤是因爲它無法解析xml。除非我們知道發生了什麼錯誤,否則我們無法幫助您。 – gunr2171 2014-08-27 19:16:18

+1

它是否將XML返回給您?如果您將該URL複製到提琴手中,您會得到什麼? – Hammerstein 2014-08-27 19:21:31

回答

2

這是因爲你搜索返回一個錯誤,原因有二:

  • 你的URL的初始部分是錯誤的 - 而不是傳遞www,你必須通過services
  • episode_list API並不需要顯示的名字,它需要出示身份證。

試試這個:

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

爲了找到表演的節目名稱標識,通過查詢此URL執行搜索:

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

結果是這樣的:

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

Plu g showId,您可以從搜索到上面的URL中獲取劇集列表。

+0

是的 - 這樣做 - 謝謝 – cablehead 2014-08-27 21:35:42

+0

@ user2471267不客氣!如果您的問題已解決,請考慮通過點擊旁邊的灰色複選標記來接受答案。這會讓其他網站訪問者知道您不再主動尋找改進的問題解決方案,併爲堆棧溢出獲得新徽章。 – dasblinkenlight 2014-08-28 00:59:32

1

根據你的變量,它看起來像你期待的ShowName。如果你只給一個節目的名稱,那麼你需要檢索匹配給定名稱顯示的列表:

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

這將返回與搜索條件匹配的所有節目。它可能包括你不想要的節目。

從那裏你可以在XML結果中檢索你想要的節目的ShowID,並使用dasblinkenlight的答案來檢索該特定節目ID的劇集列表。

用於API參考目的:http://services.tvrage.com/info.php?page=main