Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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/8/xslt/3.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
Xml 如何基于多值获取最近的祖先节点_Xml_Xslt - Fatal编程技术网

Xml 如何基于多值获取最近的祖先节点

Xml 如何基于多值获取最近的祖先节点,xml,xslt,Xml,Xslt,如何基于多项选择节点获取最近的祖先? 我的意思是: 让我们假设我的XML文件中有很多标记:章、节、小节、子节、摘要和其他。让我们假设我在某个级别上的节点上,我希望根据我的选择(章节、小节、小节、子小节)来查看哪个节点离我最近。您可以使用祖先::*[self::chapter | self:section | self::subsection | self::subsubsubsubsection][1] 如果您想要名称,请使用名称(祖先:*[self::chapter | self:sectio

如何基于多项选择节点获取最近的祖先?

我的意思是:
让我们假设我的XML文件中有很多标记:章、节、小节、子节、摘要和其他。让我们假设我在某个级别上的节点上,我希望根据我的选择(章节、小节、小节、子小节)来查看哪个节点离我最近。

您可以使用
祖先::*[self::chapter | self:section | self::subsection | self::subsubsubsubsection][1]


如果您想要名称,请使用
名称(祖先:*[self::chapter | self:section | self::subsection | self::subsubsubsection][1])

文档顺序将孩子放在父母之后

(ancestor::chapter | ancestor::section | ..... )[last()]
应该给你你需要的


将谓词应用于
祖先::
位置步骤时,节点按相反顺序编号,其中
[1]
是最近的祖先和节点<代码>[last()]距离最远。但是,当您将谓词应用于像这样的括号表达式时,无论表达式中使用的轴是什么,计数都是按正常的文档顺序进行的。

如果我想得到标记名而不是整个内容,只有标记名该死,那就是我要找的!哈哈,但是不能用这个名字。非常感谢。如果我的章节有一个标题,想知道标题的内容,我怎么能做到呢?这听起来像是一个新问题,你应该和你的XML样本一起提出,目前我们不知道
标题是否是一个属性(
祖先:*[self::chapter | self:section | self::subsection | self::subsubsection][1]/@title
)或子元素
祖先:*[self::chapter | self:section | self::subsection | self::subsubsubsection][1]/title
)。它不是一个属性,它是chapter或section或subsection或subsubsubsection的子元素,但这能正确处理整个内容吗?如果我只想知道标记的名称?@damii此XPath将为您提供对节点的引用,如果您想知道其名称,您可以使用正常的
名称(…)
本地名称(…)
函数。