我正在尝试使用React制作RSS阅读器。我遇到一些RSS源(http://www.economist.com/sections/economics/rss.xml)的元素包含在CDATA部分并包含HTML标记。什么是“反应”方式来处理这个问题?ReactJS和XML
我的理解是,通常情况下,如果使用常规的JavaScript/jQuery来解析XML文档,你将刚才得到的数据,并将其直接写HTML文档,像
document.getElementById('target').innerHTML
=xmlDoc.getElementsByTagName('description')[0].childNodes[0].data
但由于React使用虚拟DOM,你不能这样做。如果你尝试做
import React from 'react'
const Component = (props) => {
return (
<div>{xmlDoc.getElementsByTagName('description')[0].childNodes.data}</div>
)
}
export default Component
将显示部分作为一个完整的HTML标签的字符串。
我想知道是否有正确或首选的方式来处理这个问题。我知道危险地设置了IntentHTML,但是如果可能的话,宁愿避免这种情况,因为React似乎不鼓励人们使用它。现在我正在乱搞DomParser,并试图从CDATA字符串中提取特定的标签,我不得不怀疑是否有更好的方法,我无法通过Google找到并阅读文档。