Je lis un XML en utilisant dom4j en utilisant des techniques XPath pour sélectionner les nœuds désirés. Considérez que mon XML ressemble à ceci:dom4j: Comment résoudre cette erreur 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>
Note: La puissance XML ci-dessus semble laid pour vous, mais je crée que ce fichier factice pour le bien de comprendre et de garder le secracy de mon projet
Quand je spécifiez une expression XPath simple, comme:
//Emp_Classification (or)
/Emp_Dir/Emp_Classification
puis ses œuvres bien mais quand je spécifie une expression complexe comme:
/Emp_Dir/Emp_Classification/[@type='Permanent'] (or)
//Emp_Dir/Emp_Classification/[@type='Permanent']
il me donne l'erreur suivante:
"Invalid XPath expression: /Emp_Dir/Emp_Classification/[@type='Permanent'] Expected one of '.', '..', '@', '*', <QName>"
Coulde quelqu'un me guide ce qui va mal dans mon XPath?
Ma deuxième question est de savoir comment sélectionner le nœud Emp_Bio des employés permanents seulement, est-ce que cela fonctionne?
//Emp_Dir/Emp_Classification/[@type='Permanent']/Emp/Emp_Bio