J'ai une situation dans laquelle ma carte BizTalk n'extrait pas correctement les données d'entrée XML.BizTalk Mapper incorrectement XML d'analyse syntaxique
Le schéma d'entrée ressemble à ceci:
Séquence
A
B
Tous les trois de ces nœuds du XSD ont 0 min, max sans bornes.
Alors, voici un fragment de fichier d'entrée échantillon:
<A>1</A>
<B>hi</B>
<A>2</A>
<B>there</B>
Maintenant, ma carte prend ces données et les appels stockés procs pour insérer des données dans une table. Je reçois "salut" pour le champ B pour A de 1 et A de 2. C'est incorrect.
J'ai tracé le problème sur la carte. Le XSLT généré fait un foreach sur A, puis attrape la valeur B mais attrape toujours le premier B.
Donc, quelqu'un a des conseils pour modifier le schéma d'entrée ou la carte pour que cela fonctionne correctement?
Je sais que cette question est ancienne, mais votre schéma est rendu comme "A B". Pourriez-vous le réparer, s'il vous plaît? Ajoutez également votre solution (si vous en avez une). – 13ren
De votre description, vous avez les éléments A et B, avec min/max {0, non borné}, et enveloppés dans un élément de séquence qui a aussi min/max {0, unbounded}. En guise de réponse, je pense que vous pourriez ajouter un functoid de boucle explicite pour chacune de ces 3 parties. Ou, si vous avez toujours des paires AB (comme dans votre exemple), vous pouvez définir A et B sur {1,1}, et seulement avoir une boucle sur l'externe (en supposant qu'ils viennent toujours par paires). – 13ren