var s=
<><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<tumblr version="1.0"><tumblelog name="taizooo" timezone="Asia/Tokyo" title="The Whole World is peaceful.">&lt;a href="http://tako3.com/http://taizooo.tumblr.com/"&gt;TWWP is not World Wide Pro-Wrestling&lt;/a&gt;</tumblelog><posts start="0" total="30378"><post id="404327221" url="http://taizooo.tumblr.com/post/404327221" url-with-slug="http://taizooo.tumblr.com/post/404327221" type="quote" date-gmt="2010-02-22 05:41:11 GMT" date="Mon, 22 Feb 2010 14:41:11" unix-timestamp="1266817271" format="html" reblog-key="jrKOl2zM" slug="" state="published"><quote-text>「消費の作法」</quote-text><quote-source>&lt;a href="http://pdl2h.tumblr.com/post/401440789/200"&gt;memorandum@tumblr.&lt;/a&gt;</quote-source></post></posts></tumblr>
]]></>;

var parser = new DOMParser();
var dom = parser.parseFromString(s, "text/xml");
//console.log(dom.documentElement.nodeName == "parsererror" ? "error while parsing" : dom.documentElement.nodeName);
dom.documentElement

XML パースエラー: 実体の初めに XML またはテキスト宣言がありません。

って言われる。なんぞ?

文字列を DOM ツリーにパースする

var theString='&lt;a id=&quot;a&quot;&gt;&lt;b id=&quot;b&quot;&gt;hey!&lt;/b&gt;&lt;/a&gt;';
var parser = new DOMParser();
var dom = parser.parseFromString(theString, &quot;text/xml&quot;);
// ルート要素名またはエラーメッセージを表示する
dump(dom.documentElement.nodeName == &quot;parsererror&quot; ? &quot;error while parsing&quot; : dom.documentElement.nodeName);
https://developer.mozilla.org/ja/Parsing_and_serializing_XML

って例題が載ってるが、あーもしかして

<?xml version="1.0" encoding="UTF-8"?>

コレ要らない?

var s=
<><![CDATA[
<tumblr version="1.0"><tumblelog name="taizooo" timezone="Asia/Tokyo" title="The Whole World is peaceful.">&lt;a href="http://tako3.com/http://taizooo.tumblr.com/"&gt;TWWP is not World Wide Pro-Wrestling&lt;/a&gt;</tumblelog><posts start="0" total="30378"><post id="404327221" url="http://taizooo.tumblr.com/post/404327221" url-with-slug="http://taizooo.tumblr.com/post/404327221" type="quote" date-gmt="2010-02-22 05:41:11 GMT" date="Mon, 22 Feb 2010 14:41:11" unix-timestamp="1266817271" format="html" reblog-key="jrKOl2zM" slug="" state="published"><quote-text>「消費の作法」</quote-text><quote-source>&lt;a href="http://pdl2h.tumblr.com/post/401440789/200"&gt;memorandum@tumblr.&lt;/a&gt;</quote-source></post></posts></tumblr>
]]></>;

var parser = new DOMParser();
var dom = parser.parseFromString(s, "text/xml");
console.log(dom.documentElement.nodeName == "parsererror" ? "error while parsing" : dom.documentElement.nodeName);
//dom.documentElement.nodeName

"tumblr" って返ってキタ。
やっぱ <?xml version="1.0" encoding="UTF-8"?> 削除しないといけないのかもしれんね。意味がわかってないけど。

追記:

XML/テキスト宣言が1行目にないといけないので, errorになっていますー. 一つ目のやつの1行目は改行になっているので, XML/テキスト宣言が2行目にきてerrorになっています. 二つ目のやつにはXML/テキスト宣言がないのでerrorになっていない形ですねー.

http://d.hatena.ne.jp/taizooo/20100222/1266831258#c1266833871

ああああ、本当だ。改行が入ってるんだあああ。

var s=
<><![CDATA[
<tumblr version="1.0"><tumblelog name="taizooo" timezone="Asia/Tokyo" title="The Whole World is peaceful.">&lt;a href="http://tako3.com/http://taizooo.tumblr.com/"&gt;TWWP is not World Wide Pro-Wrestling&lt;/a&gt;</tumblelog><posts start="0" total="30378"><post id="404327221" url="http://taizooo.tumblr.com/post/404327221" url-with-slug="http://taizooo.tumblr.com/post/404327221" type="quote" date-gmt="2010-02-22 05:41:11 GMT" date="Mon, 22 Feb 2010 14:41:11" unix-timestamp="1266817271" format="html" reblog-key="jrKOl2zM" slug="" state="published"><quote-text>「消費の作法」</quote-text><quote-source>&lt;a href="http://pdl2h.tumblr.com/post/401440789/200"&gt;memorandum@tumblr.&lt;/a&gt;</quote-source></post></posts></tumblr>
]]></>.trim();