我是一名经验丰富的开发人员,但我是xpath和xslt的新手,我的公司突然决定实施这项工作,我希望有人可以帮助我应对挑战。
如果我有这样的XML .....
<tr layoutcode="" type="categoryhead" level="2"
<td colname="caption">Alex</td> (a)
</tr>
<tr layoutcode="" type="categoryhead" level="3"
<td colname="caption">Miscellaneous</td>
</tr>
<tr layoutcode="" type="detail" level="4"
<td colname="caption">Something</td>
</tr>
<tr layoutcode="" type="detail" level="4"
<td colname="caption">This is a test</td> (b)
</tr>
...我正在进行这项测试&#39;节点(b),我如何从(a)获得文本,即&#39; Alex&#39;?
我所知道的是,我正在寻找前面的第一个&#39; tr&#39;属性为&#39; type&#39;的节点=&#39; categoryhead&#39;和&#39;级别&#39; = 2,然后我想要来自其'td&#39;子节点。我想我正在寻找正确的xpath查询,所以我可以将它分配给变量。
非常感谢, 亚历
答案 0 :(得分:2)
路径../preceding-sibling::tr[@type = 'categoryhead' and @level = 2][1]/td[@colname = 'caption']
应选择td
元素。