2016-10-27 1 views
1

Lorsque vous écrivez une valeur dans un fichier XML en utilisant install4j si nous rencontrons un élément de noeud XML vide, la valeur n'est pas écrite dans le fichier, car l'expression xpath n'est pas correcte ou l'expression régulière ne peut pas correspondre à la valeur de noeud vide. Quelqu'un peut-il expliquer ce que nous devons faire dans un tel cas? Existe-t-il une regex pour correspondre à la valeur de noeud vide? Donc, cette valeur correcte est remplacée. ou L'expression Xpath doit être mise à jour pour correspondre à la valeur de noeud vide.Install4j Mettre à jour le fichier XML en utilisant l'expression regex et xpath

A titre d'exemple dans ce fichier XML, la valeur de l'email est null et non une chaîne vide. Alors, comment pouvons-nous correspondre à l'expression afin que la valeur soit remplacée correctement.

<?xml version="1.0"?> 
    <Employees> 
     <Employee emplid="1111" type="admin"> 
      <firstname>John</firstname> 
      <lastname>Watson</lastname> 
      <age>30</age> 
      <email></email> 
     </Employee> 
    </Employees> 

enter image description here

Le résultat lors de l'utilisation install4j est que le fichier XML est mis à jour <email></email>-</email> qui est parce que la valeur du nœud nul ne reçoit pas remplacé. Si à la place nous utilisons un espace comme <email> </email>, la valeur est remplacée correctement par ce que nous remplaçons.

Toute aide sera appréciée!

Répondre

0

Les expressions XPath se terminant par text() ne peuvent pas correspondre à un noeud vide, car il n'y a pas de noeud de texte à l'intérieur. Cependant, pour l'action "Modifier les fichiers texte avec des expressions régulières", cela serait en effet très utile. Nous avons implémenté ceci pour 6.1.4. S'il vous plaît contacter [email protected] pour une construction où cela fonctionne déjà.