Xml XSLT:到处更改属性值
我有未知/不同结构的XML文件。我必须更改属性的值。Xml XSLT:到处更改属性值,xml,xslt,Xml,Xslt,我有未知/不同结构的XML文件。我必须更改属性的值。 这只是一个示例,结构可以是任何东西: <root> <SomeElement endTime='12:00:00' /> <subLevel> <OtherElement endTime='14:00:00' /> </subLevel> </root> 如果我知道属性的确切位置,我可以这样做,但是如果我不知道XML文件的结构,并
这只是一个示例,结构可以是任何东西:
<root>
<SomeElement endTime='12:00:00' />
<subLevel>
<OtherElement endTime='14:00:00' />
</subLevel>
</root>
如果我知道属性的确切位置,我可以这样做,但是如果我不知道XML文件的结构,并且需要为文件中的每个元素更改它,该如何做呢?这可能吗?如果您知道如何更改该值,请编写一个模板
<xsl:template match="@endTime">
<xsl:attribute name="{name()}">
<!-- code to alter value here -->
</xsl:attribute>
</xsl:template>
无需先创建xs:dateTime
在线示例位于如果您知道如何更改该值,请编写一个模板
<xsl:template match="@endTime">
<xsl:attribute name="{name()}">
<!-- code to alter value here -->
</xsl:attribute>
</xsl:template>
无需先创建xs:dateTime
在线示例添加到身份转换中 仅限XSLT v3.0
<xsl:mode on-no-match="shallow-copy"/>
通过临时预结束日期,以便可以使用内置的dateTime计算函数
完整XSLT
(日期时间计算需要XSLT 2.0或更高版本)
2017-12-04T
应用于XML输入:
<root>
<SomeElement endTime='12:00:00' />
<subLevel>
<OtherElement endTime='14:00:00' />
</subLevel>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SomeElement endTime="11:59:59"/>
<subLevel>
<OtherElement endTime="13:59:59"/>
</subLevel>
</root>
提供您请求的XML输出:
<root>
<SomeElement endTime='12:00:00' />
<subLevel>
<OtherElement endTime='14:00:00' />
</subLevel>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SomeElement endTime="11:59:59"/>
<subLevel>
<OtherElement endTime="13:59:59"/>
</subLevel>
</root>
根据要求。添加到身份转换中 仅限XSLT v3.0
<xsl:mode on-no-match="shallow-copy"/>
通过临时预结束日期,以便可以使用内置的dateTime计算函数
完整XSLT
(日期时间计算需要XSLT 2.0或更高版本)
2017-12-04T
应用于XML输入:
<root>
<SomeElement endTime='12:00:00' />
<subLevel>
<OtherElement endTime='14:00:00' />
</subLevel>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SomeElement endTime="11:59:59"/>
<subLevel>
<OtherElement endTime="13:59:59"/>
</subLevel>
</root>
提供您请求的XML输出:
<root>
<SomeElement endTime='12:00:00' />
<subLevel>
<OtherElement endTime='14:00:00' />
</subLevel>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SomeElement endTime="11:59:59"/>
<subLevel>
<OtherElement endTime="13:59:59"/>
</subLevel>
</root>
按要求。元素是否始终在同一子体中?否。它可以在任何地方我现在看到您的问题。元素是否始终在同一子体中?否。它可以在任何地方我现在看到您的问题