使用非法字符从XML描述标记中解析HTML

时间:2013-04-16 17:47:17

标签: html xml parsing character qml

我正在使用QML XmlListModel来显示有效的XML Feed。由于HTML包含在下面的描述标记中,格式化已关闭。

<description>&lt;p&gt;&lt;a href="http://news.yahoo.com/north-korea-issues-military-threats-founders-birthday-000221193.html"&gt;&lt;img src="http://l1.yimg.com/bt/api/res/1.2/aSYzNa8DFZPW0FCALm20Yw--/YXBwaWQ9eW5ld3M7Zmk9ZmlsbDtoPTg2O3E9ODU7dz0xMzA-/http://media.zenfs.com/en_us/News/Reuters/2013-04-15T141115Z_1_CBRE93E0OEY00_RTROPTP_2_KOREA-NORTH.JPG"
    width="130" height="86" alt="North Korean soldiers, workers and students place flowers before statues of Kim Il-sung and Kim Jong-il at Mansudae in Pyongyang" align="left" title="North Korean soldiers, workers and students place flowers before statues
    of Kim Il-sung and Kim Jong-il at Mansudae in Pyongyang" border="0" /&gt;&lt;/a&gt;By Ju-min Park and Jack Kim SEOUL (Reuters) - North Korea made new threats of military action on Monday as the reclusive nation celebrated the anniversary of its founder&amp;#039;s
    birth, stoking tension on the peninsula with a new &amp;quot;ultimatum&amp;quot; to South Korea in the stand-off over its nuclear program. The latest statement from Pyongyang followed threats of nuclear attacks on the United States, South Korea and Japan,
    after new U.N. sanctions were imposed in response to the North&amp;#039;s latest nuclear test in February. ...&lt;/p&gt;&lt;br clear="all"/&gt;
</description>

我认为,因为XML中不允许使用像<>这样的字符,所以HTML就会被替换掉。

我正在使用下面的模型,除了在描述包含已被更改的HTML文本时发生的一些问题之外。

XmlListModel {
    id: model
    property string feedUrl: rss.activeFeed
    source: "http://" + feedUrl
    query: "/rss/channel/item"
    property ListModel temp
    property int action
    XmlRole { name: "title"; query: "title/string()" }
    XmlRole { name: "link"; query: "link/string()"}
    XmlRole { name: "description"; query: "description/string()" }
}

1 个答案:

答案 0 :(得分:0)

尝试使用CDATA标记包装HTML和长URL,XML将以非法字符包围:

<description><![CDATA[

&lt;p&gt;&lt;a href="http://news.yahoo.com/north-korea-issues-military-threats-founders-birthday-000221193.html"&gt;&lt;img src="http://l1.yimg.com/bt/api/res/1.2/aSYzNa8DFZPW0FCALm20Yw--/YXBwaWQ9eW5ld3M7Zmk9ZmlsbDtoPTg2O3E9ODU7dz0xMzA-/http://media.zenfs.com/en_us/News/Reuters/2013-04-15T141115Z_1_CBRE93E0OEY00_RTROPTP_2_KOREA-NORTH.JPG"
    width="130" height="86" alt="North Korean soldiers, workers and students place flowers before statues of Kim Il-sung and Kim Jong-il at Mansudae in Pyongyang" align="left" title="North Korean soldiers, workers and students place flowers before statues
    of Kim Il-sung and Kim Jong-il at Mansudae in Pyongyang" border="0" /&gt;&lt;/a&gt;By Ju-min Park and Jack Kim SEOUL (Reuters) - North Korea made new threats of military action on Monday as the reclusive nation celebrated the anniversary of its founder&amp;#039;s
    birth, stoking tension on the peninsula with a new &amp;quot;ultimatum&amp;quot; to South Korea in the stand-off over its nuclear program. The latest statement from Pyongyang followed threats of nuclear attacks on the United States, South Korea and Japan,
    after new U.N. sanctions were imposed in response to the North&amp;#039;s latest nuclear test in February. ...&lt;/p&gt;&lt;br clear="all"/&gt;

]]></description>