Python中文
首页
教程
问答
标签
搜索
登录
注册
python libxml2读取器和XML解析恢复
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图让一个阅读器从损坏的XML中恢复过来。在domapi(libxml2.readDoc)中使用libxml2.XML_PARSE_RECOVER选项可以工作,并且可以从实体问题中恢复。在</p> <p>但是,在reader API中使用这个选项(由于我们正在解析的文档的大小,这一点很重要)不起作用。它只是被困在一个永久的循环中(与读卡器。读()返回-1):</p> <p>示例代码(带小示例):</p> <pre><code>import cStringIO import libxml2 DOC = "<a>some broken & xml</a>" reader = libxml2.readerForDoc(DOC, "urn:bogus", None, libxml2.XML_PARSE_RECOVER | libxml2.XML_PARSE_NOERROR) ret = reader.Read() while ret: print 'ret: %d' % ret print "node name: ", reader.Name(), reader.NodeType() ret = reader.Read() </code></pre> <p>有什么办法恢复正常吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>xml不是以某种一致的方式破坏的吗?难道没有什么模式可以在解析之前修复xml吗?在</p> <p>例如,如果错误仅由未转义的和号引起,并且不使用CDATA或处理指令,则可以使用regexp修复它。在</p> <p>编辑:然后看看python标准库中的sgmllib。beauthulsoup使用它,所以它对您的情况很有用。(BeatifulSoup本身只提供树表示,而不提供事件)。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
1 回答
Pyvisa IOerror设备:Korad K3005d电源
4 回答
PyVISA mac OS X(山狮)安捷伦33250
5 回答
Pyvisa Pyusb无法加载大于1 MB的序列
10 回答
pyVisa RS232太慢
6 回答
PyVISA RS232超时错误(安捷伦电源)
10 回答
PyVISA SCPI命令和查询(值更新问题)
10 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
1 回答
pyvisa,未找到函数viOpen
7 回答
pyVISA:以编程方式将仪器返回到本地模式
7 回答
pyvisa:接口类型是什么意思?
1 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
6 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
2 回答
PyVisapy后端
4 回答
PyVISA不能写入超过7F的十六进制字符
9 回答
PYVISA中的ENUM模块和cStringIO模块
7 回答
PyVisa代码的图形用户界面
7 回答
Pyvisa使用按键电源超时
9 回答
PyVISA和Kethley 2701只能从一个通道获取结果
10 回答
PyVisa和Printing New D
10 回答