【发布时间】:2020-02-17 08:03:31
【问题描述】:
作为 xslt 的初学者,我在编写 xslt 时遇到问题。场景如下:
从属性名称为 "Value" 的属性中,我应该检查它是否包含 '^' 符号。如果它包含,我应该为每个由“^”分割的值添加更多属性标签。
我尝试在 xslt 中这样做,但对我得到的输出感到疯狂。
//逻辑
试过这个,但不知道需要在 xsl foreach 中添加什么逻辑才能添加新的属性标签。
请提供我可以学习的任何 xslt 资源。
我可以做 c# xml 之类的东西吗
Function()
{
var splitstring[]=string.Split('^');
XmlAttribute.SetAttribute('Val1','splitstring[0]');
XmlAttribute.SetValue('Val2',splitstring[1]);
}
输入xml:
<Observation>
<Property Name="Type" Value="1234"/>
<Property Name="Code" Value="CodeA"/>
<Property Name="Value1" Value="12345^Val1^6789"/>
<Property Name="Unit" Value=""/>
<Property Name="Status" Value=""/>
</Observation>
这是输入的xml
输出 xml:
<Observation>
<Property Name="Type" Value="1234"/>
<Property Name="Code" Value="CodeA"/>
<Property Name="Value1" Value="12345"/>
<Property Name="Value2" Value="Val1"/>
<Property Name="Value3" Value="6789"/>
<Property Name="Unit" Value=""/>
<Property Name="Status" Value=""/>
</Observation>
How can i integrate a c# code (because it's easy) or an xslt logic to make this happen?
【问题讨论】:
-
我查看的其他答案没有标签的属性。我还需要具有所有属性的输出 xml。 XSLT 代码将帮助我。
-
我在 xslt 中做了修改,也得到了输出。我使用了 3 个 xsl:variables,然后使用所需的 Name 属性和来自 xsl 变量的值构造 Property 节点。有效。达到 15 次后将发布答案。