使用 XSLT 减少 XML 输出
如何使用 XSLT,从输入 xml 中仅选择一些 xml 标签到输出 XML? 输入示例:
<Country value="USA">
<State value="KY>
<City value="Hebron" />
<City value="Lexington" />
<City value="Owensboro" />
<City value="Jonesville" />
</State>
<State value="OH">
<City value="Cincinnati" />
<City value="Columbus" />
<City value="Cleveland" />
<City value="Jonesville" />
</State>
<State value="IN" >
<City value="Indianapolis" />
</State>
</Country>
那么,保留国家/州标签并仅复制希伯伦和辛辛那提?
预期输出:
<Country value="USA">
<State value="KY>
<City value="Hebron" />
</State>
<State value="OH">
<City value="Cincinnati" />
</State>
</Country>
How can I using XSLT, select only some xml tags from my input xml to my output XML?
example input:
<Country value="USA">
<State value="KY>
<City value="Hebron" />
<City value="Lexington" />
<City value="Owensboro" />
<City value="Jonesville" />
</State>
<State value="OH">
<City value="Cincinnati" />
<City value="Columbus" />
<City value="Cleveland" />
<City value="Jonesville" />
</State>
<State value="IN" >
<City value="Indianapolis" />
</State>
</Country>
So, keep the Country/State tags in place and only copy Hebron and Cincinnati?
expected output:
<Country value="USA">
<State value="KY>
<City value="Hebron" />
</State>
<State value="OH">
<City value="Cincinnati" />
</State>
</Country>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
以下样式表:
在此输入上:
产生以下结果:
此样式表使用 身份转换 进行复制除了不需要的节点之外的所有节点的输出均保持不变。
另一个示例
您可能还想删除任何没有所需城市的
State
元素。此样式表:应用于此输入:
生产:
The following stylesheet:
On this input:
Produces the following result:
This stylesheet uses the identity transform to copy all but the undesired nodes to the output unchanged.
Another example
You might also want to remove any
State
element that does not have a desired city. This stylesheet:Applied to this input:
Produces:
这将只留下特定的城市:
这将只留下第一个城市:
This will leave only specific cities:
This will leave only first city:
这是我的(可能不充分)2.0 解决方案。城市是作为参数传递的正则表达式。
Here's my (probably inadequate) 2.0 solution. Cities are a regular expression passed as a parameter.