我正在使用Raspberry-Pi进行数字标牌项目。 R-Pi将连接到HDMI显示器和互联网。在R-Pi中将有一个XML文件和一个自行设计的HTML网页.XML文件将经常从远程终端更新。
我的想法是使用Python(lxml)解析XML文件,并将此解析后的数据传递到我的本地HTML网页,以便它可以在R-Pi的网络浏览器中显示这些数据。网页将经常出现重新加载以反映更改的数据。
我能够使用Python(lxml)解析XML文件。但是我应该使用什么工具在本地HTML网页中显示这个解析的内容(主要是字符串)?
这个问题可能听起来微不足道,但我对这个领域很新,在任何地方都找不到任何明确的答案。还有一些方法使用PHP解析XML然后将其传递给HTML页面,但根据我的其他需要,我必然会使用Python。
答案 0 :(得分:1)
我认为有三个步骤可以让它发挥作用。
步骤1)你已经在使用lxml,这是一个很好的库,所以我认为你不需要帮助。
步骤2)现在有很多python模板引擎,但出于简单的目的,你只需要一个预先用一些特殊标记创建的HTML文件,例如{{0}},{{1}}或其他这对你有用。这将是你的模板。从第1步中获取数据,然后在模板中查找并替换,并将输出保存到新的HTML文件中。
步骤3)要使用其他设备或PC上的浏览器访问该文件,您需要使用简单的HTTP Web服务器对其进行维护。 Python提供http.server库,或者您可以使用第三方Web服务器,只需确保它可以访问在步骤2中创建的文件。
答案 1 :(得分:1)
我没有将解析后的数据(从XML文件解析)传递给HTML页面中的特定组件,而是编写了python代码,以便定期重写整个HTML网页的代码。
假设我们有一个XML文件,一个python脚本,一个HTML网页。
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)