【发布时间】:2014-09-13 20:10:21
【问题描述】:
我对 XSL 转换有非常基本的了解。 我需要将数组转换为独立元素的列表,如下所示:
输入:
<Fields>
<Field>
<Name>One</Name>
<Value>1</Value>
</Field>
<Field>
<Name>Two</Name>
<Value>2</Value>
</Field>
<Field>
<Name>Three</Name>
<Value>3</Value>
</Field>
<Field>
<Name>Four</Name>
<Value>4</Value>
</Field>
</Fields>
期望的输出:
<Fields>
<Field1>
<Name>One</Name>
<Value>1</Value>
</Field1>
<Field2>
<Name>Two</Name>
<Value>2</Value>
</Field2>
<Field3>
<Name>Three</Name>
<Value>3</Value>
</Field3>
<Field4>
<Name>Four</Name>
<Value>4</Value>
</Field4>
</Fields>
真的可行吗? 感谢任何建议。
【问题讨论】:
-
可行,是的。然而,在去那里之前你应该三思而后行,因为虽然我看到的变化没有带来任何好处,但它会使结果比原来的更难处理。 -- 另请注意,您的输出缺少每个 XML 文档都必须具有的根元素。
-
输出不是有效的 XML,因为它有多个根元素。
-
另外,您的 XML 中的元素实际上是否称为“字段”,还是您正在寻找更通用的解决方案?
-
很抱歉缺少根元素,确保它应该有一个。它不是生产 xml,只是说明问题的人工示例。这个问题背后的真正原因是,如果字段名称不是由静态 xml 节点表示的,消费者的软件无法映射字段。
标签: arrays xml xslt transformation