18910140161

htmlpython编译器 HTML-Python'S ElementTree,如何在段落中创建链接-堆栈溢出

顺晟科技

2022-10-18 12:28:57

184

我正在构建一个运行Python2.7的网站,并使用ElementTree动态构建HTML.创建元素并将它们附加到树中没有问题。这是我必须在一个大的段落中间插入链接的地方,我被难住了。这在文本中很容易完成,但这是通过XML完成的。我的意思是:

示例文本:

Lawline=";.,《港口与航行法》第21节中定义的有人居住并设计用于居住的船舶,《健康与安全法》第18075.55节(d)小节中定义的有人居住的浮动房屋,.";

要将该文本作为H4样式的文本添加到HTML中,我通常使用:

lawLine = "..., a vessel as defined in Section 21 of the Harbors and Navigation Code which is inhabited and designed for habitation, an inhabited floating home as defined in subdivision (d) of Section 18075.55 of the Health and Safety Code, ..."

我需要在单词";部分";添加链接以及与之相关的数字,但我不能简单地创建一个新元素“ a ”。在一个段落的中间,并将其添加到HTML树中,所以我尝试将该部分构建为文本,然后执行et.fromString并将其附加到树中:

      h4 = ET.Element('h4')
      htmlTree.append(h4)
      h4.text = lawLine

我正在获取";XML.etree.ElementTree.ParseError:格式不正确";执行Et.FromString时出错。在ElementTree中有更好的方法吗?我相信有更好的扩展,但我的工作环境仅限于Python2.7和标准库。任何帮助都将不胜感激。谢谢!埃文


顺晟科技:

由于存在 thisLawType = 'PC' matches = re.findall(r'Section [0-9.]*', lawLine) if matches: lawLine = """<h4>{0}</h4>""".format(lawLine) for thisMatch in matches: thisMatchLinked = """<a href="./index.py?lawtype={0}&lawnumber={1}">{2}</a>""".format(thisLawType, thisMatch.replace('Section ',''), thisMatch) lawLine = lawLine.replace(thisMatch, thisMatchLinked) htmlBody.append(ET.fromstring(lawLine)) &中。它是需要转义的特殊字符之一(请参阅此处的有趣解释)。

因此,请尝试替换thisMatchLinked&并查看它是否有效。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航