我有一个要求,我需要从XML文档生成一个文本文件,生成的文本文件应该是基于某些规则的某种特定格式 . 我的XML看起来如下所示:
<info>
<Tag1>
<Tag2>
<Tag3>
<PartNo>12 </PartNo>
</Tag3>
<DBOMInf1> 111 </DBOMInf1>
<DBOMInf2> sring </DBOMInf2>
</Tag2>
<Tag2>
<Tag3>
<PartNo>12 </PartNo>
</Tag3>
<DBOMInf1> 555 </DBOMInf1>
<DBOMInf2> abcd </DBOMInf2>
</Tag2>
</Tag1>
<Tag4>
<Tag5>
<Description>1200 liter </Description>
<No>12</No>
<Name>Engine</Name>
<Id>700</Id>
</Tag5>
</Tag4>
<action>
<actionId>700</actionId>
</action>
</info>
- 文本中的预期输出格式:
ACTIONID | NO | DESCRIPTION | NAME | DBOMInf1 | DBOMInf2 700 | 12 |发动机| 1200升| 111 | sring 700 | 12 |发动机| 1200升| 555 | ABCD
我是新手XSLT编程可以任何机构共享一些信息或示例如何实现这一点,我熟悉XSLT的基础,如模板匹配,选择值 .
任何链接或示例都将非常有用 . 谢谢
1 回答
看起来你想要为每个 Tag2 元素添加一行,在这种情况下,通过执行以下操作可以轻松匹配(假设您当前位于 info 元素上)
但是看起来你也希望从 Tag5 元素中查找信息 . 在这种情况下,您可以使用键来查找基于 No 元素的值 . 关键将定义如下:
要查找给定 Tag2 元素的标记,您可以执行以下操作:
(注意,规范化空间,从元素中删除多余的空白)
这是完整的XSLT
应用于输入XML时,将输出以下文本