2017-05-07 4 views
0

C'est le format du fichier XML de sorte qu'il est difficile pour moi de saisir le 2ème exemple:Comment mapper deux éléments XML similaires en utilisant XMLBeam?

<sec2_Ind> 
<SectC_EntyType> 
    <TextField3>1</TextField3> 
</SectC_EntyType> 
<nameInfo> 
    <subName> 
    <fName>Name 1</fName> 
    </subName> 
</nameInfo> 
<SectC_EntyType> 
    <TextField3>2</TextField3> 
</SectC_EntyType> 
<nameInfo> 
    <subName> 
    <fName>Name 2</fName> 
    </subName> 
</nameInfo> 
<sec2_Ind> 

D'en haut, je ne suis en mesure d'obtenir les détails de 1ère instance (Nom 1) que les éléments ne pas avoir un identifiant unique à l'exception de <TextField3>###</TextField3>

Quel est le bon format de @XBRead?

+0

Je ne sais pas ce que vous essayez de lire. Voulez-vous les éléments 'SectC_EntyType', ou les éléments' nameInfo', ou des paires des deux? – Cfx

+0

Oui paires de deux d'entre eux. Je suis seulement en mesure d'obtenir la première instance (TextField3: 1 et fName: Nom 1) et pas l'instance suivante (TextField3: 2 et fName: Name 2) en utilisant @XBRead – ebanster

Répondre

0

De votre réponse, je suppose que vous voulez une liste de chaînes:

@XBRead("//(TextField3 | fName)") 
List<String> getNames(); 
+0

Salut @Cfx, je pense que j'y arrive. Cependant, j'ai essayé '@XBRead (" sec2_Ind // (TextField3 | fName) ")' et '@XBRead (" // (TextField3 | fName) ")' et les deux m'ont donné cette erreur: ** ERREUR avec le fichier (manquant Champs): ** – ebanster

+0

Cela ne ressemble pas à un message d'erreur Java. Pouvez-vous poster le stacktrace complet? – Cfx

+0

Bonjour @cfx J'ai trouvé la réponse avec le script ci-dessus. Le problème réside avec moi l'appelant et a travaillé en utilisant la fonction .get (valeur de séquence) – ebanster