0

私に代わってブログ投稿を生成するプログラムを開発しています。ほとんどの場合、これは問題なく動作しますが、iframe を使用して Youtube ビデオを埋め込むときに問題が発生します。

何らかの理由で、私の html が書き換えられます。つまり、終了 iframe タグが投稿の最後に移動され、その後に終了 div が続きます。

最初は、投稿のさまざまなフラグメントを誤って連結していると考えていましたが、デバッグすると、すべてが正しい順序になっていました。

ここに私が実際に挿入するものがあります:

<div>
<span style="font-family: Arial, Helvetica, sans-serif, font-size: large;">
In this video, I am going to show you how to format a post for blogger. You can read the transcript below.
<br/><br/></span>
</div>
<h2>HTML Player</h2>
<div>
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/68p_LKet2Kw&quot; width="560"></iframe>
</div>
<div>
<h2>Transcript</h2>
Sadly, my html is being re-written for some reason.
<br/><br/>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif, font-size: large;">See you soon.<br/></span>
<br/>
</div>

これが Blogger で生成されるものです。

<div>
<span style="font-family: Arial, Helvetica, sans-serif, font-size: large;">
In this video, I am going to show you how to format a post for blogger. You can read the transcript below.
<br />
</span>
</div>
<h2>HTML Player</h2>
<div>
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/68p_LKet2Kw&quot; width="560">
</div>
<div>
<h2>Transcript</h2>
Sadly, my html is being re-written for some reason.
<br/><br/>
</div>
<div>
<span style='font-family: Arial, Helvetica, sans-serif, font-size: large;'>
See you soon.
<br/><br/>
</span>
<br/>
</div>
</iframe></div>

iframe の終了タグが移動し、追加の終了 div が追加されていることに注目してください。

そして、ここに私のコードがあります:

            service = new Service("blogger", Applicationname);
            credentials = new GDataCredentials(Username, Password);
            service.Credentials = credentials;
            GDataGAuthRequestFactory bRequest = (GDataGAuthRequestFactory)service.RequestFactory;
            bRequest.AccountType = "GOOGLE";
            AtomEntry newPost = new AtomEntry();
            newPost.Title.Text = _Entry.Title;
            newPost.Content = new AtomContent();              
            BlogContent += BlogSectionTopic;
            BlogContent += "<h2>HTML Player</h2>";
            BlogContent += BlogSectionHtmlEmbed;                                
            BlogContent += "<div>";
            BlogContent += "<h2>Transcript</h2>";
            BlogContent += _BlogBody;
            BlogContent += "<br/>";
            BlogContent += "<br/>";
            BlogContent += "</div>";
            newPost.Content.Content = BlogContent;
            newPost.Content.Type = "xhtml";
            newPost.Updated = DateTime.Now;
            newPost.Published = DateTime.Now;
            Uri blogFeedUri = null;
            foreach (var category in categories.Split(','))
            {
                newPost.Categories.Add(new AtomCategory(category,new Uri("http://www.blogger.com/atom/ns#")));
            }
            newPost.Categories.Add(new AtomCategory("Video", new Uri("http://www.blogger.com/atom/ns#")));

            string tmpURI = GetPostingURI(service, "http://www.philipstirpe.co.uk/feeds/posts/default");

            if (tmpURI != "")
            {
                blogFeedUri = new Uri(tmpURI);
                 createdEntry = service.Insert(blogFeedUri, newPost);
            }

回答とヘルプに感謝します。

4

1 に答える 1

0

問題が解決しました。AtomEntry のコンテンツ タイプを「html」ではなく「xhtml」に誤って設定していたことに最終的に気付きました。

于 2013-10-29T21:58:38.610 に答える