【问题标题】:XSLT code for traversal用于遍历的 XSLT 代码
【发布时间】:2016-06-01 07:05:31
【问题描述】:

我需要打印两个不同父节点的第一个子节点。 我在 XML 中有两个节点,如下所示。我只添加了部分 xml 代码:

<UserValue title="project_variants" value="">
    <UserList id="id19" type="list">
    <Item value="LTD3,A"></Item>
    <Item value="LTD4,A"></Item>
    <Item value="PRODUCTION,B"></Item></UserList>
</UserValue>
<UserValue>
<UserList id="id11" type="list">
    <Item value="1 EACH"></Item>
    <Item value="2 EACH"></Item>
    <Item value="3 EACH"></Item>
</UserList>

预期输出:

LTD3 A 1 个

LTD4 A 2 每个

生产 B 各 3 个

请帮帮我

【问题讨论】:

  • "打印两个不同父节点的第一个子节点。" 这不是您的输出显示的内容。似乎您想打印每个项目及其来自另一个分支的相应(即在同一位置)项目。问题是每个分支中的项目数量是否总是完全相同。
  • 您的输入仍然不是有效的 XML。你还没有回答我的问题。对于想要得到帮助的人,你肯定做错了。
  • 我是 XSLT 的新手,有一些参考代码我已经完成了这个。我已经发布了。但所需的输出如上。请告诉我如何进行

标签: xml xslt


【解决方案1】:

您发布的 xml 似乎无效 假设xml是这样的

<UserValue title="project_variants" value="">
<UserList id="id19" type="list">
    <Item value="LTD3,A"></Item>
    <Item value="LTD4,A"></Item>
    <Item value="PRODUCTION,B"></Item>
</UserList>

<UserList id="id11" type="list">
    <Item value="1 EACH"></Item>
    <Item value="2 EACH"></Item>
    <Item value="3 EACH"></Item>
</UserList>
</UserValue>

你可以试试这样 使用 for-each 迭代第一组 维护一个值等于当前位置的变量 { 使用 for-each 迭代第二组并选择位置等于上述循环中定义的 var 的节点 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    相关资源
    最近更新 更多