使用分析xml代码时出错xml.etree在Python中

2024-10-02 00:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图学习运行python2.7.2的XML处理(使用lxml)的基础知识。我已经创建了一个非常简单的启动文件,但它是弹坑。代码是:

from lxml import etree

doc = etree.parse('/Desktop/plc_dmt.xml')

print doc

我尝试过这些代码的变体,使用不同的xml文件,并且在执行etree.parse()方法,但它们都会产生类似或相同的错误消息,如下所示:

^{pr2}$

我确认至少有一些XML文件格式良好,至少在web服务器上可以正确运行。我不明白错误消息——它要查找的目标名称是什么?在

这是输入的xml文件。在

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<heartbeat><?--#exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 0 ), InReadUByte( 1 ))'-->    </heartbeat>

<dmt node="1">
    <address><?--#exec cmd_argument='printf( "0x%02X", InReadUByte( 20 ))'--></address>
    <status><?--#exec cmd_argument='printf( "0x%02X", InReadUByte( 21 ))'--></status>
    <realflow><?--#exec cmd_argument='printf( "%f", InReadFloat( 22 ))'--></realflow>
    <pressure><?--#exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 26 ), InReadUByte( 27 ))'--></pressure>
    <temp><?--#exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 28 ), InReadUByte( 29 ))'--></temp>
</dmt>
# Misc stuff pulled out to keep file shorter...
</response>

许多嵌入的代码都是服务器端包含的用于这个web服务器的命令,该服务器连接到一些工具。此文件在服务器上运行不正确。在


Tags: 文件代码服务器cmddocparsexmlargument
1条回答
网友
1楼 · 发布于 2024-10-02 00:26:08

XML无效,因为元素中有<>个字符。他们必须逃走。在

如果它们真的应该是评论,那么它应该是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<heartbeat><! #exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 0 ), InReadUByte( 1 ))' >    </heartbeat>

<dmt node="1">
    <address><! #exec cmd_argument='printf( "0x%02X", InReadUByte( 20 ))' ></address>
    <status><! #exec cmd_argument='printf( "0x%02X", InReadUByte( 21 ))' ></status>
    <realflow><! #exec cmd_argument='printf( "%f", InReadFloat( 22 ))' ></realflow>
    <pressure><! #exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 26 ), InReadUByte( 27 ))' ></pressure>
    <temp><! #exec cmd_argument='printf( "0x%02X%02X", InReadUByte( 28 ), InReadUByte( 29 ))' ></temp>
</dmt>
</response>

如果这应该是文本,那么它们需要被转义,就像这样:

^{pr2}$

以上两份文件均有效。在

相关问题 更多 >

    热门问题