2013-04-16 49 views
0

我正在使用QML XmlListModel来显示可用的XML源。由于HTML包含在下面的描述标记中,因此格式设置已关闭。从XML描述标记解析非法字符的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()" } 
} 

回答

0

尝试包装你的HTML和长的URL与CDATA标记,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> 
+0

那么,你应该能够告诉任何脚本是拉动HTML把它包在CDATA标签。检查tyhis了,看看你不能注入这个代码在你的代码... http://api.jquery.com/wrap/希望这将有助于你,否则我将需要更多地了解你使用的是什么方法 –