プロが教えるわが家の防犯対策術!

phpでブログツールを作成し、更新pingの送信機能を付けてみました。
エラーが出るので下記rssチェックツールで確認してみました。
http://www.feedvalidator.org/check.cgi

すると、
Undefined root element: methodCall
とping送信エラーとほぼ同じ結果が出てしまいます。

解決方法に出てきた
・スペースが不要な場所に入っていないか
・"application/xml"が不足していないか
の両方とも試したのですが、解決しません。

・すべてのスペースと改行をxmlの構文を壊さない範囲で削除
・ブログ自体のrssでチェックしてみたところエラーは出ない
・xmlのEncodeをutf-8以外にすると、サーバーの設定はutf-8ですよと出る

これ以上切り分けも思いつかず、なにも出来ない状況です。
解決方法、切り分け方法、ヒント等ありましたら教えてください。
参考意見でもアドバイスでもどんな意見でもお待ちしています。
宜しくお願いします。

以下にテストに使用したxmlです。
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>test</value>
</param>
<param>
<value>http://sample.com/</value>
</param>
</params>
</methodCall>

A 回答 (1件)

rssの構文ルールを守っていない為に発生しているエラーです。



rssには、XML構文ルールに加えて、より厳密なrss構文ルールが適用されます。具体には、「root elementは、<rdf:RDF>である」等。


参考URLにrssの構文ルールを解説しているサイトの載せました。
参照してください。

参考URL:http://www.kanzaki.com/docs/sw/rss.html

この回答への補足

ご回答、ありがとうございます。
参考URLを元に更新pingの内容を変更して試してみたいと思います。

補足日時:2006/11/28 16:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!