【发布时间】:2021-04-04 22:33:16
【问题描述】:
我需要关于这个简单的 xslt 循环的帮助。 需要为匹配选择所有匹配的 DocInstance 循环 (Transetconnum2/Transetconnum = DocInstance/set_ctrl_nbr) 在 XML 之下。
<Documents>
<Transetconnum2>
<Transetconnum>0001</Transetconnum>
<Transetconnum>0003</Transetconnum>
</Transetconnum2>
<DocInstance>
<doc_ref_id>9178191-RBTW</doc_ref_id>
<set_ctrl_nbr>0001</set_ctrl_nbr>
<grp_ctrl_nbr>206875</grp_ctrl_nbr>
<int_ctrl_nbr>682651</int_ctrl_nbr>
</DocInstance>
<DocInstance>
<doc_ref_id>9178192-RBTW</doc_ref_id>
<set_ctrl_nbr>0002</set_ctrl_nbr>
<grp_ctrl_nbr>206875</grp_ctrl_nbr>
<int_ctrl_nbr>682651</int_ctrl_nbr>
</DocInstance>
<DocInstance>
<doc_ref_id>9178193-RBTW</doc_ref_id>
<set_ctrl_nbr>0003</set_ctrl_nbr>
<grp_ctrl_nbr>206875</grp_ctrl_nbr>
<int_ctrl_nbr>682651</int_ctrl_nbr>
</DocInstance>
</Documents>
预期输出:
<Documents>
<DocInstance>
<doc_ref_id>9178191-RBTW</doc_ref_id>
<set_ctrl_nbr>0001</set_ctrl_nbr>
<grp_ctrl_nbr>206875</grp_ctrl_nbr>
<int_ctrl_nbr>682651</int_ctrl_nbr>
</DocInstance>
<DocInstance>
<doc_ref_id>9178193-RBTW</doc_ref_id>
<set_ctrl_nbr>0003</set_ctrl_nbr>
<grp_ctrl_nbr>206875</grp_ctrl_nbr>
<int_ctrl_nbr>682651</int_ctrl_nbr>
</DocInstance>
</Documents>
【问题讨论】:
-
为什么
<set_ctrl_nbr>0002</set_ctrl_nbr>从您的输出中排除? -
由于 Transetconnum>0002 与 set_ctrl_nbr 不匹配,因此排除了 0002。
-
很抱歉输入与预期输出早先是错误的,我已对其进行了编辑。希望这很简单。
标签: xml loops xslt foreach nested