Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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 lxml:XMLSyntaxError:不支持的版本';2.0';_Python_Lxml - Fatal编程技术网

Python lxml:XMLSyntaxError:不支持的版本';2.0';

Python lxml:XMLSyntaxError:不支持的版本';2.0';,python,lxml,Python,Lxml,使用XML 2.0版时,lxml出现异常,失败 测试: 类TestLXML(unittest.TestCase): def测试_lxml(自身): 从lxml导入etree etree.fromstring('test') 结果: Error Traceback (most recent call last): File "/home/viator/coding/esb/mdmesb/packages/smev/core/request/test.py", line 33, in test

使用XML 2.0版时,
lxml
出现异常,失败

测试:

类TestLXML(unittest.TestCase): def测试_lxml(自身): 从lxml导入etree etree.fromstring('test') 结果:

Error
Traceback (most recent call last):
  File "/home/viator/coding/esb/mdmesb/packages/smev/core/request/test.py", line 33, in test_lxml
    etree.fromstring('<?xml version="2.0" encoding="UTF-8" standalone="no"?><test>test</test>')
  File "lxml.etree.pyx", line 3032, in lxml.etree.fromstring (src/lxml/lxml.etree.c:68121)
  File "parser.pxi", line 1786, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:102470)
  File "parser.pxi", line 1674, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:101299)
  File "parser.pxi", line 1074, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:96481)
  File "parser.pxi", line 582, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:91290)
  File "parser.pxi", line 683, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:92476)
  File "parser.pxi", line 622, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:91772)
XMLSyntaxError: Unsupported version '2.0', line 1, column 19
错误
回溯(最近一次呼叫最后一次):
文件“/home/viator/coding/esb/mdmesb/packages/smev/core/request/test.py”,第33行,在test_lxml中
etree.fromstring('test')
lxml.etree.fromstring(src/lxml/lxml.etree.c:68121)中的文件“lxml.etree.pyx”,第3032行
文件“parser.pxi”,第1786行,在lxml.etree.\u parseMemoryDocument(src/lxml/lxml.etree.c:102470)中
文件“parser.pxi”,第1674行,在lxml.etree.\u parseDoc(src/lxml/lxml.etree.c:101299)中
文件“parser.pxi”,第1074行,在lxml.etree.\u BaseParser.\u parseDoc(src/lxml/lxml.etree.c:96481)中
lxml.etree.\u ParserContext.\u handleParseResultDoc(src/lxml/lxml.etree.c:91290)中第582行的文件“parser.pxi”
文件“parser.pxi”,第683行,在lxml.etree.\u handleParseResult(src/lxml/lxml.etree.c:92476)中
lxml.etree中的文件“parser.pxi”,第622行。\u raiseParserError(src/lxml/lxml.etree.c:91772)
XMLSyntaxError:不支持的版本“2.0”,第1行,第19列

lxml不支持2.0版吗?我能做什么呢?

看来XML 2.0没有正式规范——只有一个W3C工作组信息规范,其中明确表示“XML安全工作组同意不作为建议进一步推进这个规范化的XML 2.0规范”。(). WikMedia和Stackoverflow上关于“XML2.0”的进一步报道证实了这一点

因此,由于不存在正式的规范,因此无法像lxml那样读取产品质量、正式、严格的检查库

如果您的文档与XML1.1兼容,jsut会将文档上的初始“2.0”替换为“1.1”-在解析XML之前将其视为字符串。如果没有,您将不得不选择另一个与信息丰富的W3C规范(或自己制作)一起工作的库

一些谷歌搜索发现,Python中没有任何库支持“XML2.0”这样的东西。另一个选项是记录XML 2.0(如果有的话)中需要哪些特性,并创建一个XML预处理器来处理这些特性

Error
Traceback (most recent call last):
  File "/home/viator/coding/esb/mdmesb/packages/smev/core/request/test.py", line 33, in test_lxml
    etree.fromstring('<?xml version="2.0" encoding="UTF-8" standalone="no"?><test>test</test>')
  File "lxml.etree.pyx", line 3032, in lxml.etree.fromstring (src/lxml/lxml.etree.c:68121)
  File "parser.pxi", line 1786, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:102470)
  File "parser.pxi", line 1674, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:101299)
  File "parser.pxi", line 1074, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:96481)
  File "parser.pxi", line 582, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:91290)
  File "parser.pxi", line 683, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:92476)
  File "parser.pxi", line 622, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:91772)
XMLSyntaxError: Unsupported version '2.0', line 1, column 19