2
我正在使用dom4j通過使用XPath技術選擇所需節點來讀取XML。考慮到我的XML看起來像這樣:dom4j:如何解決此XPath錯誤?
<Emp_Dir>
<Emp_Classification type ="Permanent" >
<Emp id= "1">
<name>jame</name>
<Emp_Bio>
<age>12</age>
<height>5.4</height>
<weight>78</weight>
</Emp_Bio>
<Emp_Details>
<salary>2000</salary>
<designation>developer</designation>
</Emp_Details>
</Emp>
<Emp id= "2">
<name>jame</name>
<Emp_Bio>
<age>12</age>
<height>5.4</height>
<weight>78</weight>
</Emp_Bio>
<Emp_Details>
<salary>2000</salary>
<designation>developer</designation>
</Emp_Details>
</Emp>
</Emp_Classification>
<Emp_Classification type ="Contract" >
.
.
.
</Emp_Classification>
<Emp_Classification type ="PartTime" >
.
.
.
</Emp_Classification>
</Emp_Dir>
注:以上XML可能看起來醜陋給你,但我只創造便於理解這個虛擬文件,並保持我的項目的secracy
當我指定一些簡單的XPath表達式,如:
//Emp_Classification (or)
/Emp_Dir/Emp_Classification
那麼它工作正常,但當我指定像一些複雜的表達式:
/Emp_Dir/Emp_Classification/[@type='Permanent'] (or)
//Emp_Dir/Emp_Classification/[@type='Permanent']
然後它給了我下面的錯誤:
"Invalid XPath expression: /Emp_Dir/Emp_Classification/[@type='Permanent'] Expected one of '.', '..', '@', '*', <QName>"
Coulde有人指導我怎麼在我的XPath錯在何處?
我的第二個問題是,我如何選擇永久員工的Emp_Bio節點,這是否工作?
//Emp_Dir/Emp_Classification/[@type='Permanent']/Emp/Emp_Bio