Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python解析XML文件并在HTML页面中显示_Python_Html_Xml_Parsing_Raspberry Pi - Fatal编程技术网

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

用python解析XML文件并在HTML页面中显示,python,html,xml,parsing,raspberry-pi,Python,Html,Xml,Parsing,Raspberry Pi,我正在用树莓皮做一个数字看板项目。R-Pi将连接到HDMI显示器和互联网。R-Pi中将有一个XML文件和一个自行设计的HTML网页。XML文件将从远程终端频繁更新 我的想法是使用Python(lxml)解析XML文件,并将解析后的数据传递到我的本地HTML网页,以便它可以在R-Pi的web浏览器中显示这些数据。该网页将经常重新加载以反映更改后的数据 我能够使用Python(lxml)解析XML文件。但是我应该使用什么工具在本地HTML网页中显示这些解析的内容(主要是字符串) 这个问题可能听起来很

我正在用树莓皮做一个数字看板项目。R-Pi将连接到HDMI显示器和互联网。R-Pi中将有一个XML文件和一个自行设计的HTML网页。XML文件将从远程终端频繁更新

我的想法是使用Python(lxml)解析XML文件,并将解析后的数据传递到我的本地HTML网页,以便它可以在R-Pi的web浏览器中显示这些数据。该网页将经常重新加载以反映更改后的数据

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


这个问题可能听起来很琐碎,但我对这个领域非常陌生,在任何地方都找不到任何明确的答案。还有一些方法使用PHP解析XML,然后将其传递到HTML页面,但根据我的其他需要,我必须使用Python。

我认为有3个步骤可以让它正常工作

  • 仅从给定的XML文件中提取所需的数据
  • 使用简单模板引擎将提取的数据插入HTML文件
  • 使用web服务器为上面创建的文件提供服务
  • 步骤1)您已经在使用lxml,这是一个很好的库,因此我认为您不需要帮助

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


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

    我编写了Python代码,以便定期重写整个HTML网页的代码,而不是将解析的数据(从XML文件解析)传递给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>
    

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

    请考虑在上提问。为什么不能将解析后的XML数据插入HTML网页?浏览器已经在频繁地重新加载页面了。@J0e3gan我已经在这里发布了它,因为这是一个更普遍的问题,尽管我正在尝试用RaspberryPi来做。@Alan。。你能详细说明一下吗。。我说的xml文件还有很多其他信息,我不想显示。我专门解析了必须使用lxml显示的内容。
    str.replace("My first paragraph",root[0][1].text)