文本属性作为另一个元素的值
对于下面的 XML,我想知道如何获取 case_id 节点中的文本值作为下面 xsl 工作表中隐藏输入标记的属性。 这可能吗?
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
<Cases>
<Case>
<case_id>30</case_id>
...
...
</Case>
</Cases>
</NewDataset>
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<input type="hidden" name="case_num" value="?"/>
</xsl:template>
</xsl:stylesheet>
With the XML below, I would like to know how to get the value of text in the case_id node as an attribute for the hidden input tag in the xsl sheet below.
Is this possible?
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
<Cases>
<Case>
<case_id>30</case_id>
...
...
</Case>
</Cases>
</NewDataset>
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<input type="hidden" name="case_num" value="?"/>
</xsl:template>
</xsl:stylesheet>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
试试这个
或者你可以像这样内联
Try this
or you can inline like this
只需将您的 XSLT 更改为此,假设您只有 1 个 case_id,否则,您将需要使用更具体的模板匹配,并删除我用作示例的 XPATH 值中的一些路径。
Just change your XSLT to this, this assumes that you do only have 1 case_id, otherwise, you will need to go with a more specific template match, and remove some of the path in the XPATH value I used as an example.
您需要使用一些更具体的匹配来扩展 XSLT。
以下内容应输出包含每个
Case
的case_id
值的input
元素。 我假设每个Case
有一个case_id
。 我已尝试使 XSLT 尽可能明确,但如果您不愿意,则无需在实现中如此精确。You need to expand your XSLT with some more specific matches.
The following should output
input
elements that contain yourcase_id
values for eachCase
. I've assumed there is onecase_id
perCase
. I've tried to make the XSLT as explicit as I can, but you don't need to be this exact in your implementation if you don't want to be.只需使用 AVT(属性值模板)像这样:
Just use an AVT (Attribute Value Template) like this:
我将其更改为:
因为它位于 foreach 循环中。
谢谢你们,这真是一种享受!
I changed it to:
as it's in a foreach loop.
Thanks guys, that worked a treat!