我的xml文件如下所示
<table id="553" name="Schedule Master">
<property name="dataSet">Schedule_Master</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">SCHD_ID</property>
<expression name="expression">dataSetRow["SCHD_ID"]</expression>
<property name="dataType">decimal</property>
</structure>
</list-property>
<table id="585" name="SegmentInfo_Child">
<property name="dataSet">SegmentInfo_Child</property>
<list-property name="visibility">
<structure>
<property name="format">all</property>
<expression name="valueExpr">Total.count() < 1</expression>
</structure>
</list-property>
</table>
<table id="627" name="EnrollmentInfo_Child">
<property name="dataSet">EnrollmentInfo_Child</property>
<list-property name="visibility">
<structure>
<property name="format">all</property>
<expression name="valueExpr">Total.count() < 1</expression>
</structure>
</table>
</table>
所以我只想从作为Schedule Master的父表中获得信息,这意味着我的xml应该如下所示。
<table id="553" name="Schedule Master">
<property name="dataSet">Schedule_Master</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">SCHD_ID</property>
<expression name="expression">dataSetRow["SCHD_ID"]</expression>
<property name="dataType">decimal</property>
</structure>
</list-property>
</table>
那么如何使用Xpath表达式实现这一点。 我曾尝试过以下表达式,但显然它们没有帮助
1) "//cell/table[1]"
2) "//table[(descendant::table)]"
预先感谢
答案 0 :(得分:1)
如果仅要从外部表中提取数据(例如property
文本值):
//property[count(ancestor::table) = 1]/text()
这与内部表的property
个节点不匹配,因为它们有两个table
个祖先,因此count(ancestor::table) = 1
谓词将为它们返回false