我可以在XML中转义HTML实体,以便它们直接显示在网页上吗?

时间:2011-09-23 04:56:45

标签: html xml

我有一个包含属性规范的XML描述符文件,例如:

<attribute
  name="abc"
  description="xyz e.g. &lt;br&gt; with a new line">
...
</attribute>

这些XML描述符由一个groovy脚本解析,以生成HTML文档(以及其他内容):

<table>
  <tr><th>Name</th><th>Description</th></tr>
  <tr><td>abc</td><td>xyz e.g. <br>with a new line</td></tr>
</table>

我的问题是我需要在XML中将HTML实体显示为字符文字?例如小于标志,例如:

<table>
  <tr><th>Name</th><th>Description</th></tr>
  <tr><td>abc</td><td>You must supply a &lt;port number&gt;</td></tr>
</table>

(groovy脚本不对XML描述进行处理 - 只是将其打印到HTML文件中。)

2 个答案:

答案 0 :(得分:1)

转义HTML实体中的&符号,以便获得以下内容:

<attribute
  name="abc"
  description="You must supply a &amp;lt;port number&amp;gt;">
...
</attribute>

然后Groovy脚本将属性值视为:

You must supply a &lt;port number&gt;

答案 1 :(得分:0)

您可以简单地替换'&amp;'到'&amp;'来解决它。这是代码:

<div id="d"></div>
<script type='text/javascript'>
var str = "<table><tr><th>Name</th><th>Description</th></tr><tr><td>abc</td><td>You must supply a  &amp;lt;port number &amp;gt;</td></tr></table>";
document.getElementById('d').innerHTML = str;
</script>