首先,我需要一个带有某个后代a
d
//a/b/c/d[@class='gotcha']
然后我想从a
进行一些进一步的搜索,比如采取另一个后代:
//a/b/c/d[@class='gotcha']/../../../b2/c2/d2
是否有任何提升N级别的快捷方式?理想情况下,我想以某种方式选择" a,它有某些后代"供进一步使用。
UPD:示例xml
<a>
<b>
<c><d class='gotcha'></d></c>
</b>
<b2>
<c2><d2></d2></c2>
</b2>
</a>
我需要d2,知道结构和&#39;陷阱&#39;值可以改变。
答案 0 :(得分:0)
我认为你所要求的是
a
那是:
b
c
孩子的d
孩子,其class='gotcha'
孩子的属性为a
b2
元素中,找到c2
孩子的d2
孩子的//a[b/c/d/@class='gotcha']/b2/c2/d2
子元素。注意:
InsertForm.LayerList.Clear
RC = 1
InsertForm.LayerType.Clear
InsertForm.LayerList.Clear
InsertForm.LayerType.AddItem "Schematic"
InsertForm.LayerType.AddItem "Panel Layout"
InsertForm.LayerType.AddItem "General Arrangement"
Set RS = DB.GetConnection.Execute("select * from Layers where ProjectNUMBER = 'STANDARD' Order By LAYERName ASC")
InsertForm.LayerList.AddItem "Name"
InsertForm.LayerList.Column(1, 0) = "Color"
InsertForm.LayerList.Column(2, 0) = "LineType"
InsertForm.LayerList.Column(3, 0) = "LineWeight"
While RS.EOF = False
InsertForm.LayerList.AddItem Trim(RS.Fields.Item(2))
InsertForm.LayerList.Column(1, RC) = Trim(RS.Fields.Item(3))
InsertForm.LayerList.Column(2, RC) = Trim(RS.Fields.Item(4))
InsertForm.LayerList.Column(3, RC) = Trim(RS.Fields.Item(5))
RC = RC + 1
RS.MoveNext
Wend
InsertForm.MultiPage1.value = 0
InsertForm.MultiPage2.value = 0
InsertForm.Show
End Sub
,这与上述内容相同,但我认为使用内部谓词可以更好地解释思维过程。