x path 代码,如果大括号之间没有缩进,则提供代码行

x path Code providing the lines of the code if there is no identation between curly brackets

提问人:Kathrin 1999 提问时间:3/29/2023 更新时间:3/29/2023 访问量:15

问:

我正在尝试编写 x 路径代码,如果大括号之间没有缩进,则提供行。

应该报告这样的代码:

{
2+2
}

但是像这样的代码不是:

{
  3+2
}

这是相应的 xml 文档:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<exprlist>
  <expr line1="1" col1="1" line2="3" col2="1" start="7" end="19">
    <OP-LEFT-BRACE line1="1" col1="1" line2="1" col2="1" start="7" end="7">{</OP-LEFT-BRACE>
    <expr line1="2" col1="3" line2="2" col2="5" start="15" end="17">
      <expr line1="2" col1="3" line2="2" col2="3" start="15" end="15">
        <NUM_CONST line1="2" col1="3" line2="2" col2="3" start="15" end="15">3</NUM_CONST>
      </expr>
      <OP-PLUS line1="2" col1="4" line2="2" col2="4" start="16" end="16">+</OP-PLUS>
      <expr line1="2" col1="5" line2="2" col2="5" start="17" end="17">
        <NUM_CONST line1="2" col1="5" line2="2" col2="5" start="17" end="17">2</NUM_CONST>
      </expr>
    </expr>
    <OP-RIGHT-BRACE line1="3" col1="1" line2="3" col2="1" start="19" end="19">}</OP-RIGHT-BRACE>
  </expr>
  <expr line1="5" col1="1" line2="7" col2="1" start="31" end="43">
    <OP-LEFT-BRACE line1="5" col1="1" line2="5" col2="1" start="31" end="31">{</OP-LEFT-BRACE>
    <expr line1="6" col1="1" line2="6" col2="3" start="37" end="39">
      <expr line1="6" col1="1" line2="6" col2="1" start="37" end="37">
        <NUM_CONST line1="6" col1="1" line2="6" col2="1" start="37" end="37">2</NUM_CONST>
      </expr>
      <OP-PLUS line1="6" col1="2" line2="6" col2="2" start="38" end="38">+</OP-PLUS>
      <expr line1="6" col1="3" line2="6" col2="3" start="39" end="39">
        <NUM_CONST line1="6" col1="3" line2="6" col2="3" start="39" end="39">2</NUM_CONST>
      </expr>
    </expr>
    <OP-RIGHT-BRACE line1="7" col1="1" line2="7" col2="1" start="43" end="43">}</OP-RIGHT-BRACE>
  </expr>
</exprlist>

我尝试使用这样的表达式

//OP-LEFT-BRACE[
      following-sibling::*[1]/@line2
    ]

但由于我在 xpath 方面没有经验,我无法找到解决方案。

XML XPath XMLDocument

评论


答: 暂无答案