解析 python 中的 XML 文件并显示在 HTML 页面中

Parse XML file in python and display it in HTML page

我正在使用 Raspberry-Pi 做一个数字标牌项目。 R-Pi 将连接到 HDMI 显示器和互联网。 R-Pi.The中会有一个XML文件和一个自己设计的HTML网页XML文件会经常从远程终端更新

我的想法是使用 Python (lxml) 解析 XML 文件并将解析后的数据传递到我的本地 HTML 网页,以便它可以在 R- 中显示此数据Pi 的 web-browser.The 网页将频繁重新加载以反映更改的数据。

我能够使用 Python (lxml) 解析 XML 文件。但是我应该使用什么工具来在本地 HTML 网页中显示此解析后的内容(主要是字符串)?

这个问题听起来可能微不足道,但我是这个领域的新手,在任何地方都找不到任何明确的答案。还有一些方法使用 PHP 来解析 XML,然后将其传递给 HTML 页面,但根据我的其他需要,我必须使用 Python.

我认为您需要执行 3 个步骤才能使其正常工作。

  1. 正在从给定的 XML 文件中仅提取您想要的数据。
  2. 使用简单的模板引擎将提取的数据插入 HTML 文件。
  3. 使用网络服务器为上面创建的文件提供服务。

第 1 步) 您已经在使用 lxml,它是执行此操作的一个很好的库,因此我认为您在这方面不需要帮助。

步骤 2) 现在有许多 python 模板引擎,但为了简单的目的,您只需要一个 HTML 文件,该文件是预先创建的,带有一些特殊标记,例如 {{0 }}、{{1}} 或任何适合您的东西。这将是您的模板。从步骤 1 中获取数据,只需在模板中查找和替换并将输出保存到新的 HTML 文件。

第 3 步)要使用不同设备或 PC 上的浏览​​器访问该文件,您需要使用简单的 HTTP Web 服务器为其提供服务。 Python 提供 http.server 库,或者您可以使用第 3 方 Web 服务器并确保它可以访问在步骤 2 中创建的文件。

我没有将已解析的数据(从 XML 文件中解析)传递给 HTML 页面中的特定组件,而是编写了 python 代码,以便重写整个HTML 定期网页代码。

假设我们有一个XML文件,一个python脚本,一个HTML网页。

  • XML 文件:包含定期更新并要解析的某些值。
  • Python 脚本:解析 XML 文件(当 XML 文件发生变化时)并使用新解析的值更新 HTML 页面
  • HTML 网页:显示在 R-Pi 屏幕上并定期重新加载(以反映浏览器的任何更改)

python 代码将声明一个字符串(例如,str),其中包含 HTML 页面的代码,例如下面的代码.

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>
<p>My first paragraph.</p>

</body>
</html>

然后假设我们想更新 我的第一段 为我们从 XML 解析的值,我们可以使用 Python 字符串替换函数,

str.replace("My first paragraph",root[0][1].text)

替换完成后,将整个字符串 (str) 写入 HTML 文件。现在,HTML 文件将包含新代码,一旦重新加载,更新后的网页将显示在(R-Pi 的)浏览器中