Python &引用;无效的默认值";使用lxml和ATTLIST标记

Python &引用;无效的默认值";使用lxml和ATTLIST标记,python,parsing,lxml,Python,Parsing,Lxml,我试图用lxml解析一个XML文件(由opdis提供);它在这一行失败: 它表示:类型的属性操作数:无效的默认值 问题来自标记末尾的“”。如果我用类似于“nothing”的东西填充它,它就可以正常工作lxml就是不喜欢空字符串 问题是我无法编辑XML,它必须由opdis动态生成,因此我必须找到一种方法使lxml忽略此错误 代码如下: xml = subprocess.Popen(["opdis", "-f", "xml", "-E", "/home/ubuntu/workspace/testb

我试图用
lxml
解析一个XML文件(由
opdis
提供);它在这一行失败:

它表示:
类型的属性操作数:无效的默认值

问题来自标记末尾的
“”
。如果我用类似于
“nothing”
的东西填充它,它就可以正常工作
lxml
就是不喜欢空字符串

问题是我无法编辑XML,它必须由
opdis
动态生成,因此我必须找到一种方法使
lxml
忽略此错误

代码如下:

xml = subprocess.Popen(["opdis", "-f", "xml", "-E", "/home/ubuntu/workspace/testbinaries/bin/acc"], stdout=subprocess.PIPE).stdout.read();
tree = etree.fromstring(xml); #FAIL!
你有什么线索吗?

有问题的那一行

<!ATTLIST operand type (target|src|dest) "">
空字符串对应于
DefaultDecl
,属性的默认值(而
S
对应于空白)

应使用以下内容定义:

DefaultDecl    ::=      '#REQUIRED' | '#IMPLIED'
            | (('#FIXED' S)? AttValue)  [VC: Required Attribute]
            [VC: Attribute Default Value Syntactically Correct]
            [WFC: No < in Attribute Values]
            [VC: Fixed Attribute Default]
            [WFC: No External Entity References]

请发布代码并显示您正在使用/调用的
lxml
函数在这里,我通过手动启动
opdis
获取了xml
DefaultDecl    ::=      '#REQUIRED' | '#IMPLIED'
            | (('#FIXED' S)? AttValue)  [VC: Required Attribute]
            [VC: Attribute Default Value Syntactically Correct]
            [WFC: No < in Attribute Values]
            [VC: Fixed Attribute Default]
            [WFC: No External Entity References]
xml  = subprocess.Popen(["opdis", "-f", "xml", "-E", "/home/ubuntu/workspace/testbinaries/bin/acc"], stdout=subprocess.PIPE).stdout.read();
xml  = xml.replace("\"\"","#REQUIRED")
tree = etree.fromstring(xml); #OK