现在我想知道两件事:
1.)如何编写匹配且仅输出块引用的表达式
关闭后紧随其后
元素 (<span></span>
)?
假设提供的文本已转换为格式良好的 XML 文档(您需要将值括起来id
引号中的属性)
Use:
/*/*/span/following-sibling::*[1][self::blockquote]
这在英语中的意思是:全选 blockquote
每个元素都是第一个、直接的 以下兄弟姐妹 span
文档顶部元素的孙元素.
2.)如果我想要,我怎样才能获得内容2、内容3等(如果我曾经)
需要将它们输出到
未来,同时仍在申请
上一个问题的规则?
Yes.
你可以获得所有连续的集合blockquote
后面的元素span
:
/*/*/span/following-sibling::blockquote
[preceding-sibling::*[not(self::blockquote)][1][self::span]]
你可以获得连续的一组blockquote
(N+1)-st 之后的元素span
by:
/*/*/span/following-sibling::blockquote
[preceding-sibling::*
[not(self::blockquote)][1]
[self::span and count(preceding-sibling::span)=$vN]
]
where $vN
应该用数字N代替。
Thus, 的连续集合的集合blockquote
第一个元素之后的元素span
被选择为:
/*/*/span/following-sibling::blockquote
[preceding-sibling::*
[not(self::blockquote)][1]
[self::span and count(preceding-sibling::span)=0]
]
的连续集合的集合blockquote
第二个之后的元素span
被选择为:
/*/*/span/following-sibling::blockquote
[preceding-sibling::*
[not(self::blockquote)][1]
[self::span and count(preceding-sibling::span)=1]
]
etc. ...
参见XPath 可视化工具 http://www.huttar.net/dimitre/XPV/TopXML-XPV.html通过以下表达式选择的节点 :
/*/*/span/following-sibling::blockquote
[preceding-sibling::*
[not(self::blockquote)][1]
[self::span and count(preceding-sibling::span)=3]
]