小编Eri*_*uer的帖子

在 Python 中将 html 标签添加到 XML.ElementTree 元素的文本中

我正在尝试使用 python 脚本生成一个 HTML 文档,其中包含使用该XML.etree.ElementTree模块的数据表中的文本。我想格式化一些单元格以包含 html 标签,通常是<br /><sup></sup>标签。当我生成一个字符串并将其写入文件时,我相信 XML 解析器正在将这些标签转换为单个字符。输出将标签显示为文本,而不是将它们作为标签处理。这是一个简单的例子:

import xml.etree.ElementTree as ET

root = ET.Element('html')
   #extraneous code removed
td = ET.SubElement(tr, 'td')
td.text = 'This is the first line <br /> and the second'

tree = ET.tostring(root)
out = open('test.html', 'w+')           
out.write(tree)                     
out.close()
Run Code Online (Sandbox Code Playgroud)

当您打开生成的“test.html”文件时,它显示的文本字符串与键入的完全相同:“这是第一行 <br /> 和第二行”。

HTML 文档本身显示了源代码中的问题。解析器似乎将标记中的“小于”和“大于”符号替换为这些符号的 HTML 表示:

    <!--Extraneous code removed-->
<td>This is the first line %lt;br /&gt; and the second</td>
Run Code Online (Sandbox Code Playgroud)

显然,我的意图是让文档处理标签本身,而不是将其显示为文本。我不确定是否可以通过不同的解析器选项来使其工作,或者是否应该使用不同的方法。如果可以解决问题,我愿意使用其他模块(例如 lxml)。为方便起见,我主要使用内置的 XML 模块。

我发现唯一可行的方法是re在写入文件之前使用替换修改最终字符串:

tree …
Run Code Online (Sandbox Code Playgroud)

html python xml elementtree

2
推荐指数
1
解决办法
3948
查看次数

如果函数不是camelCase,ColdFusion会抛出错误吗?

我正在尝试调查一个错误,并不熟悉ColdFusion.有一个函数调用isdefined(),我认为应该是isDefined().如果ColdFusion遇到内置函数的这种情况差异,它会采取什么行为?它真的回归了吗?它是否会跳过声明?

回溯显示来自此<cfif isdefined(...)>语句中的一行的错误,所以我想知道不正确的外壳是否会影响这一点.有什么想法吗?

coldfusion camelcasing

0
推荐指数
1
解决办法
86
查看次数

标签 统计

camelcasing ×1

coldfusion ×1

elementtree ×1

html ×1

python ×1

xml ×1