2010-07-17 6 views
0

Quelqu'un peut-il suggérer comment puis-je résoudre ce problème, il y a un document XML que j'essaie d'ajouter. Je suis à la recherche des nœuds avec XPath, les choses est le logiciel qui génère ce code XML parfois comme le défonce suivant:nœuds de recherche avec xpath en Java

<element name="Element ">Element value</element> 

Alors, quand je suis à la recherche du nœud avec XPath en utilisant //element[@name="Element"] sans espace vide I n'obtiens pas de correspondance. Naturellement je me marie avec ça //element[@name="Element "]

Y at-il quelque chose que je peux faire pour faire correspondre cela sans espace vide? Xpath accepte-t-il les expressions régulières ou il y a une façon plus intelligente de le faire, je peux changer le fichier xml après été généré par le logiciel (avec une entrée utilisateur défectueuse).

Répondre

4

(non testé).

Would

//element[normalize-space(@name)=="Element"] 

travail?

+0

A + pour vous, cela a effectivement fonctionné, j'ai cherché cela pendant si longtemps, pouvez-vous recommander des ressources utiles pour xpath? – London

+1

La spécification XPath? http://www.w3.org/TR/xpath/#section-String-Functions –

1

Une solution plus générale (bien que moins précis) pourrait être:

//element[contains(@name,"Element")]

Cependant qui attirerait aussi des choses comme name="Elements" et name="Elementary" etc.

peut vous recommander des ressources utiles pour XPath

Malheureusement, il n'y a pas beaucoup de ressources de ce type dans mon expérience - w3schools est probablement votre meilleur pari, ou la spécification elle-même pour les choses plus avancées.

Questions connexes