Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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/xpathevaleror:解析xml文件时表达式无效_Python_Xml - Fatal编程技术网

Python lxml/xpathevaleror:解析xml文件时表达式无效

Python lxml/xpathevaleror:解析xml文件时表达式无效,python,xml,Python,Xml,我尝试用lxml解析XML文件。它适用于某些文件,但最后一个文件给了我一个错误: XPathEvalError at /admin/xml_exportation/xml/add/ Invalid expression 以下是xml代码: <?xml version="1.0" encoding="utf-8" ?> <export source="Source" version="1.0" date="2014-02-21T17:46:57"> <Agenc

我尝试用lxml解析XML文件。它适用于某些文件,但最后一个文件给了我一个错误:

XPathEvalError at /admin/xml_exportation/xml/add/
Invalid expression
以下是xml代码:

<?xml version="1.0" encoding="utf-8" ?>
<export source="Source" version="1.0" date="2014-02-21T17:46:57">
  <Agence ID="XX1" externRef="XX1" customCode="38495">
    <Biens>
      <Bien ID="XX1-176" ref="XX1-176">
        <DateMAJ>2013-06-14T12:12:07</DateMAJ>
      </Bien>
    </Biens>
  </Agence>
</export>
我试图改变路径,但它给了我同样的错误

谢谢你的帮助

编辑 我还添加了可以用脚本导出的xml文件中的代码(更改根路径)



您的
的结束标记没有反斜杠,因此您的树是空的,因为XML没有解析


请在尝试用Python解析XML之前验证它。

您的XPath后面有一个“/”。卸下它,一切正常

即改变:

root_path = '/export/Agence/Biens/Bien/'


包含回溯是很有帮助的,这样我们就可以知道是哪一行导致了问题。该错误意味着xpath表达式
/admin/xml\u exportation/xml/add/
不正确-尾随
/
是非法的。我认为代码崩溃的地方与您所展示的不同。我将此代码与另一个xml文件一起使用,它成功了。这就是为什么我认为崩溃来自xml和python。可能只是在编写问题时出错。不匹配的标记将抛出XMLSyntaxError。感谢您的评论。是的,这只是我写问题时的一个错误。
Internal Server Error: /admin/xml_exportation/xml/add/
Traceback (most recent call last):
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 372, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 89, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 202, in inner
    return view(request, *args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in _wrapper
    return bound_func(*args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/utils/decorators.py", line 21, in bound_func
    return func(self, *args2, **kwargs2)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/db/transaction.py", line 223, in inner
    return func(*args, **kwargs)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1007, in add_view
    self.save_model(request, new_object, form, False)
  File "/home/python-envs/website.com/local/lib/python2.7/site-packages/django/contrib/admin/options.py", line 740, in save_model
    obj.save()
  File "astucesexperts/apps/xml_exportation/models.py", line 154, in save
    for element in tree.xpath(root_path): # Find each new property
  File "lxml.etree.pyx", line 2115, in lxml.etree._ElementTree.xpath (src/lxml/lxml.etree.c:57669)
  File "xpath.pxi", line 370, in lxml.etree.XPathDocumentEvaluator.__call__ (src/lxml/lxml.etree.c:146579)
  File "xpath.pxi", line 238, in lxml.etree._XPathEvaluatorBase._handle_result (src/lxml/lxml.etree.c:144977)
  File "xpath.pxi", line 224, in lxml.etree._XPathEvaluatorBase._raise_eval_error (src/lxml/lxml.etree.c:144832)
XPathEvalError: Invalid expression
<?xml version='1.0' encoding='UTF-8' ?>
<ANNONCES>
    <ANNONCE>
        <AGENCE_REF><![CDATA[22]]></AGENCE_REF>
        <AGENCE_NOM><![CDATA[Agence]]></AGENCE_NOM>
<REFERENCE><![CDATA[100lm]]></REFERENCE>
        <TRANSACTION><![CDATA[2]]></TRANSACTION>
        <TYPE><![CDATA[2]]></TYPE>
        <SOUSTYPE><![CDATA[45]]></SOUSTYPE>
        <SURFACE><![CDATA[100]]></SURFACE>
    <ANNONCE>
</ANNONCES> 
root_path = '/export/Agence/Biens/Bien/'
root_path = '/export/Agence/Biens/Bien'