我正在尝试在网页上显示用纯文本混合的XML标签。我是从python脚本执行此操作,该脚本从数据库中获取数据。我已将问题简化为以下程序。
#!/usr/local/bin/python
print """Content-type: text/html;charset=utf-8\n\n"""
print """<html><body>
start:<![CDATA[This is the <xml> tag </xml>.]]>:end
</body></html>"""
我希望它显示以下内容:
start:This is the <xml> tag </xml>.:end
在IE8和Chrome15中,它显示以下内容:
start: tag .]]>:end
当我在IE中查看页面的HTML源代码时,我可以看到以下内容:
<html><body>
start:<![CDATA[This is the <xml> tagxml.]]>:end
</body></html>
在Chrome中,我在查看来源时看到相同的内容,但似乎<![CDATA[This is the <xml>
部分为绿色,因为它被视为评论。
我特别想保留文字(而不是将<
转换为<
),因为通过javascript我访问元素,允许人们在单独的textarea中编辑它们。转换它们然后将它们保存为转换,从而导致处理中的问题进一步减少。我可以在保存之前将它们转换回来,但这似乎是错误的方法。
知道我做错了什么吗?
提前致谢, 格兰特
答案 0 :(得分:1)
我认为别无选择,只能使用<
等,并在编辑时转换为标签,并在保存时转换回来。
答案 1 :(得分:0)
<!DOCTYPE html>
<html>
<body>
<div id="div1"><b>hi</b></div>
<textarea id="area"></textarea>
<script type="text/javascript">
var div1 = document.getElementById('div1')
var area = document.getElementById('area')
var text = div1.firstChild.nodeValue
area.value = text
</script>
</body>
</html>
问题出在哪里?