gpt4 book ai didi

xml - xslt : how to select an XML element according to the value of a sibling element

转载 作者:行者123 更新时间:2023-12-04 18:21:01 25 4
gpt4 key购买 nike

这是我的 XML:

<root>
<parameters>
<parameter>
<key>sEmail</key>
<value>cauchyjp@gmail.com</value>
<type>string</type>
<length>255</length>
</parameter>
<parameter>
<key>sFirstName</key>
<value>Bill</value>
<type>string</type>
<length>40</length>
</parameter>
</parameters>
<root>

我想检索键 sEmail 的值并将其作为属性添加到使用 XML 到 XML xslt 的根元素。

这是预期的结果:
<root email="cauchyjp@gmail.com">
<parameters>
<parameter>
<key>sEmail</key>
<value>cauchyjp@gmail.com</value>
<type>string</type>
<length>255</length>
</parameter>
<parameter>
<key>sFirstName</key>
<value>Bill</value>
<type>string</type>
<length>40</length>
</parameter>
</parameters>
<root>

类似于 this link 的东西但具有元素的值而不是属性。

有人能帮我吗 ?谢谢

最佳答案

您可以测试子元素的值是否为“sEmail”:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="parameters">
<parameters>
<xsl:attribute name="email">
<xsl:value-of select="parameter[key='sEmail']/value"/>
</xsl:attribute>
<xsl:copy-of select="*"/>
</parameters>
</xsl:template>

<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>

关于xml - xslt : how to select an XML element according to the value of a sibling element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com