Xpath概念混淆

Xpath概念混淆,xpath,nodes,ancestor,Xpath,Nodes,Ancestor,我一直在试图弄清楚以下XPath表达式在XML中会导致什么结果: paper/publisher/parent::*/author /bib//地址[祖先::书籍] /bib//作者/祖先::*//zip 1) 第一个是显示所有以author作为根元素的父元素?*/是什么意思 2) 第二个列表列出了book下的所有祖先根元素 3) 第三个我真的不知道,它列出了所有的zip节点 只是对祖先节点的整体工作方式感到困惑,请给出一些指导 第一个XPath表达式使用带有元素通配符节点测试的父::轴。从pu

我一直在试图弄清楚以下XPath表达式在XML中会导致什么结果:

  • paper/publisher/parent::*/author
  • /bib//地址[祖先::书籍]
  • /bib//作者/祖先::*//zip
  • 1) 第一个是显示所有以author作为根元素的父元素?*/是什么意思

    2) 第二个列表列出了book下的所有祖先根元素

    3) 第三个我真的不知道,它列出了所有的zip节点

    只是对祖先节点的整体工作方式感到困惑,请给出一些指导

  • 第一个XPath表达式使用带有元素通配符节点测试的
    父::
    轴。从
    publisher
    元素,它“跳到”它的父元素
    paper
    元素,然后选择
    author
    子元素。如果存在
    发布者
    同级,则它仅选择
    作者
    元素。它可以写得更简洁,并且避免在
    paper
    元素上使用谓词过滤器使用此XPath查找节点树:
    paper[publisher]/author

  • XPath选择所有
    地址
    元素,这些元素是
    bib
    元素的后代,也是
    book
    元素的后代(可以是
    bib
    祖先的祖先或后代)。方括号是一个谓词,用于过滤通过表达式测试的节点。在这种情况下,它必须是
    book
    元素的后代,才能“通过”测试并被选中

  • 此XPath查找任何
    zip
    元素,该元素是
    author
    元素的后代,该元素是
    bib
    元素的后代

  • 下面是XPath轴的可视化,以了解选择祖先、父代、兄弟姐妹、后代等的含义

    使用XPath可视化工具可能会有所帮助,以便根据一些示例XML评估XPath表达式,并查看哪些是选中的,哪些不是选中的

    例如:

    这不是一个真正的教程网站。XPath有很多页的文档可用;你可以通过谷歌找到它们。正如我解释的,这不是一个教程网站。作为作业的一部分,您获得了这些XPath表达式,而您正是应该回答这些问题的人。如果我们为你做,你什么也学不到。如果您没有能力回答这些问题,请向您的讲师寻求帮助。他们得到的报酬是为你提供完成任务所需的知识,如果你不能,那么他们还没有完成他们的工作。现在我更困惑了。你不仅没有问题,还希望我们为你编写学习指南?