【问题标题】:Xpath that returns the whole document in python在 python 中返回整个文档的 Xpath
【发布时间】:2020-03-08 12:54:41
【问题描述】:

我正在尝试调试一些继承的代码。所以有一行代码 elt = doc.xpath('body/div/pre[@id="bb flags"]')[0]

我想看看当时整个文档的样子,而不仅仅是一个特定的部分。那么我应该在那里插入什么xpath? 即

elt_entire_document = doc.xpath(new xpath)
logging.info("The full document here is " + elt_entire_document.text)

这甚至可以通过 xpath 实现,还是比这更复杂?

【问题讨论】:

  • 为什么必须使用 xpath 才能查看文档中的内容。文档中有什么?
  • @supputuri 你为什么要问?这和我的问题有什么关系?
  • 我问的是doc 在您的代码中指的是什么,而不是您的文档的内容。

标签: python xpath


【解决方案1】:

就是这样,基于我们的 cmets:

logging.info("The full document here is " + text)

【讨论】:

  • 弗洛里安,谢谢,但这给了我: TypeError: can only concatenate str (not "NoneType") to str If I then change it to logging.warning('td145 doc.text = ' + str (doc.text)) 我得到 doc.text = None 我知道这与整个文档不正确,因为当前的 xpath 确实返回了一些东西。
  • @Tharpa 你用的是什么库?
  • 我的前任用的是etree。 doc = etree.HTML(txt)。我想这间接回答了我的问题。如果我在调用方法中打印出txt,我就有答案了。
  • 是的,我已经相应地更新了我的 anwser。但你明白了。
【解决方案2】:

您的问题标题似乎是在询问选择整个文档,但您的问题正文似乎是在询问有关显示选定节点的问题...

通过 XPath 选择整个文档

选择整个文档可能意味着以下任何一种:

  • / 选择 XML 文档的根节点
  • /* 选择 XML 文档的 文档元素(也称为 根元素)。
    (其父节点是 根节点。 )
  • string(/) 选择 XML 文档的 string-value

另见:


Python 漂亮的打印子树

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 2014-01-29
    • 2020-12-05
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多