子要素の扱い(CDATA)

<item>
<![CDATA[
abcdef<br />aaaaa<a href="bbb">BBB</a>ccc
]]>
</item>

というxmlがあると、Firefoxでは、itemの子要素として、

  • #text
  • #cdata-section
  • #text

と認識してくれる(IEでは#cdata-sectionだけ)。つまり、ちゃんと改行コードも#textノードとして認識してくれる。どっちがいいのかは判断できないが、このブラウザの違いを回避するには、

<item><![CDATA[
abcdef<br />aaaaa<a href="bbb">BBB</a>ccc
]]></item>

と書く必要がありそう。または、

if (node.nodeName == '#cdata-section') {
    ....
}

が無難か。