通过XSL连接XML的同一节点的两个或多个元素

时间:2017-08-24 07:41:49

标签: xml xslt

通过XSL Transformation将XML转换为XML我想要连接多个这样的元素:

XML代码(输入):

<Sample>
  <Start_Date>23/04/2016</Start_Date>
</Sample>

必需的XML代码(输出):

XPath xpath = XPathFactory.newInstance().newXPath();
xpath.setXPathFunctionResolver(new XPathFunctionResolver() {
    @Override
    public XPathFunction resolveFunction(QName functionName, int arity) {
        return new XPathFunction() {    
            @Override
            public Object evaluate(List args) throws XPathFunctionException {
                return null;
            }
        };
    }
});

任何人请建议我如何通过XSLT连接这些元素。

1 个答案:

答案 0 :(得分:0)

有多个选项可以连接值以获得所需的输出。正如@ michael.hor257k所建议的那样,请阅读在线教程,了解XSLT基础知识。

这是一种可用于将各个日期值连接到格式化日期的方法。请确保已正确映射bgo:的命名空间。我没有在XSLT示例中考虑它。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="Sample">
        <xsl:variable name="separator" select="'/'" />
        <xsl:copy>
            <Start_Date>
                <xsl:value-of select="Date" />
                <xsl:value-of select="$separator" />
                <xsl:value-of select="Month" />
                <xsl:value-of select="$separator" />
                <xsl:value-of select="Year" />
            </Start_Date>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

这将为您提供所需的输出。

<Sample>
    <Start_Date>23/4/2016</Start_Date>
</Sample>