我有一组像这样的xml元素:
<item code="<HTML_CODE>" />
例如:
<items>
<item code='<a href="http://google.com">Google</a>' />
<item code='<a href="http://google.com">Google</a>' />
</items>
代码属性中的所有特殊字符都已转义(&lt; - &lt;,&gt; - &amp; rt;等) 有没有办法将代码属性的内容追加到页面DOM并将其渲染为html? 我的意思是,在我的例子中,毕竟我需要在页面上有两个超链接。
更新
我有:
<?xml version='1.0' encoding='utf-8'?>
<root>
<materials>
<items>
<item project_id="3" code="<a href="http://google.com">Text</a>" txt_id="text1" text="«Королев&
#1089;тво» — браузерная ролевая онлайн-игра" />
<item project_id="3" code="Texttextetx" />
</items>
</materials>
</root>
我需要:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...anything here..
</head>
<body>
<a href="http://google.com">Text</a>
Texttextetx <!-- I know, this is bad but this is example-->
</body>
答案 0 :(得分:0)
我认为应该这样做。在JQuery中
$('item').each(function(){
$("#receiving_div").append($(this).attr('code'));
})
但是,仅仅返回HTML而不是将XML包装在XML中会更有意义吗?无论如何,它们都只是标记语言......
答案 1 :(得分:0)
<item project_id="3" code="<a href="http://google.com">Text</a>" txt_id="text1" text="«Королев&
#1089;тво» — браузерная ролевая онлайн-игра" />
<item project_id="3" code="Texttextetx" />
根据定义,属性的值不能是节点 - 它只是一个字符串。因此,上面的href
属性根本不包含任何标记 - 它包含已销毁的标记。
XSLT / XPath不能立即使用这样的字符串 - 它必须首先由XML解析器解析。
因此,如果您需要使用XSLT处理此问题,则xslt代码必须使用扩展函数来解析href
属性的值并返回节点集。
正如我们一次又一次地看到的那样,尝试将标记放在属性中是愚蠢和有害的 - 这只会破坏它。
答案 2 :(得分:0)
<xsl:value-of select="XPATHQUERY" disable-output-escaping="yes" />