如何在emacs nxml-mode中搜索与xpath表达式匹配的元素?

man*_*anu 6 emacs xpath

有没有办法以交互方式搜索与emacs中给定xpath表达式匹配的节点?

我想要类似的东西,re-forward-search但我没有使用正则表达式,而是键入一个xpath表达式.

Dre*_*rew 0

我没有 XPath 查询的答案;对不起。但您可以尝试Icicles搜索搜索键M-s M-s xM-s M-s X(命令icicle-search-xml-elementicicle-search-xml-element-text-node)。

这些允许您分别搜索text()名称与您提供的正则表达式匹配的顶级 XML 元素的内容和节点。

对于icicle-search-xml-element,可以采用以下任意形式:

  • <ELEMENTNAME>...</ELEMENTNAME>
  • <ELEMENTNAME ATTRIBUTE1="..."...>...</ELEMENTNAME>
  • <ELEMENTNAME/>
  • <ELEMENTNAME ATTRIBUTE1="...".../>

您也可以选择搜索非上下文,即此类元素外部的缓冲区文本,而不是由元素名称正则表达式定义的搜索上下文。为此,请在完成期间使用“CM-~”。(这是一个切换,它仅影响未来的搜索命令,而不影响当前的搜索命令。)

对于icicle-search-xml-element-text-node,顶级匹配元素不得具有属性。<ELEMENTNAME>...</ELEMENTNAME>仅匹配表单的顶级元素。

HTH。