2012-03-31 48 views
0

我想删除我从goodreads api收到的XML响应中的评论部分内容并显示它。 它看起来像它的一个Iframe。 因此,任何想法如何做到这一点?Goodreads Api:书评分析:XML中的Iframe:如何删除Iframe?

<reviews_widget> 
<![CDATA[ 
<style> 
    #goodreads-widget { font-family: georgia, serif; padding: 18px 0; width:565px; } #goodreads-widget h1 { font-weight:normal; font-size: 16px; border-bottom: 1px solid #BBB596; margin-bottom: 0; } #goodreads-widget a { text-decoration: none; color:#660; } iframe{ background-color: #fff; } #goodreads-widget a:hover { text-decoration: underline; } #goodreads-widget a:active { color:#660; } #gr_footer { width: 100%; border-top: 1px solid #BBB596; text-align: right; } #goodreads-widget .gr_branding{ color: #382110; font-size: 11px; text-decoration: none; font-family: verdana, arial, helvetica, sans-serif; } 
</style> 

<div id="goodreads-widget"> 
    <div id="gr_header"> 
     <h1><a href="http://www.goodreads.com/book/show/2657.To_Kill_a_Mockingbird">To Kill a Mockingbird Reviews</a></h1></div> <iframe id="the_iframe" src="http://www.goodreads.com/api/reviews_widget_iframe?did=DEVELOPER_ID&amp;isbn=0061120081&amp;links=660&amp;min_rating=&amp;review_back=fff&amp;stars=fff&amp;text=000" width="565" height="400" frameborder="0"></iframe> <div id="gr_footer"> <a href="http://www.goodreads.com/book/show/2657.To_Kill_a_Mockingbird?utm_medium=api&amp;utm_source=reviews_widget" class="gr_branding" target="_blank">Reviews from Goodreads.com</a> 
    </div> 
</div> 
]]> 
</reviews_widget> 
+0

的Goodreads API [复习方法(http://www.goodreads.com/api#review.show)返回简单的XML,所以我不明白为什么它会发送一个iframe?你使用开发者API或者某种插件来检索XML吗?你能发布一个链接吗? – wzub 2012-03-31 11:05:59

+0

API链接:http://www.goodreads.com/book/ title.xml?&key = YOUR-KEY&title = java 它以包含Iframe的XML格式返回嵌入的小部件。 – AnujKu 2012-04-09 04:57:22

回答

0

我能得到这个答案,但它只是一个简单的解决方案;可以打破:( 但将暂时无法工作。

  Label lb2 = new Label(); 
      string st = html; 

      int stindex, endindex; 
      string subst; 
      stindex = st.IndexOf("<iframe"); 
      endindex = st.IndexOf("</iframe>") + 9; 
      int lin = st.LastIndexOf("</iframe>") + 9; 
      while ((endindex <= lin) && (stindex > 0)) 
      { 
       subst = st.Substring(stindex, endindex - stindex); 
       lb2.Text = subst; 
       PlaceHolder1.Controls.Add(lb2); 
       st = st.Substring(endindex); 
       stindex = st.IndexOf("<iframe"); 
       endindex = st.IndexOf("</iframe>") + 9; 
      }