我的XML文件:
<Company>
<Employee name="Rutu" Emp_id="E001">
<Age>22</Age>
<Gender>Female</Gender>
<Address>M/3,hului</Address>
<Department Deptid="D1">Production</Department>
<Join_date>10/9/2012</Join_date>
<Salary>50000</Salary>
</Employee>
<Employee name="Meera" Emp_id="E004">
<Age>21</Age>
<Gender>Female</Gender>
<Address>Behind Raj palace</Address>
<Department Deptid="D1">Production</Department>
<Join_date>3/4/2014</Join_date>
<Salary>80000</Salary>
</Employee>
</Company>
我的问题是:选择加入日期之前的所有员工详细信息 2013年。 我尝试了以下Xpath,但我没有得到所需的输出: //员工[substring(Join_date,1,4)&lt;&#39; 2013&#39;]
答案 0 :(得分:1)
这就是你需要的。
//Employee[number(substring(Join_date, string-length(Join_date) - 3, 4))<2014]
如果你想知道发生了什么,只需要几点解释。
将位置返回到第一个年份。由于您无法确定一年中将使用多少个字符,f.x:10/12/2015 vs 1/1/2015。
string-length(Join_date) - 3
为了使用&lt; &GT;你应该有一个数字,所以你需要将结果转换为数字
号( '2015')