加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用XSLT合并两个XML文件

发布时间:2020-12-16 07:40:48 所属栏目:百科 来源:网络整理
导读:我有2个xml文件,我需要使用样式表合并在一起 AssessmentInput ApplicationData.../AppicationData MetricList.../MetricList/AssessmentInput 一个是ApplicationData,另一个是MetricList. 这就是我所做的,但它与应有的无关 ?xml version="1.0" encoding="asc
我有2个xml文件,我需要使用样式表合并在一起
<AssessmentInput>
  <ApplicationData>...</AppicationData>
  <MetricList>...</MetricList>
</AssessmentInput>

一个是ApplicationData,另一个是MetricList.
这就是我所做的,但它与应有的无关

<?xml version="1.0" encoding="ascii"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common" exclude-result-prefixes="xsl exslt">
    <xsl:output omit-xml-declaration="yes" method="xml" encoding="UTF-8"/>
    <xsl:param name="ApplicationData" select="/"/>
    <xsl:param name="MetricList"/>
    <xsl:template match="/">
        <xsl:apply-templates select="$ApplicationData/ApplicationData"/>
    </xsl:template>
    <xsl:template match="ApplicationData">
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <xsl:apply-templates select="*"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

请帮我.我对XSLT没有任何经验.

给定以下输入文件:

ApplicationData.xml

<?xml version="1.0" ?>
<ApplicationData>
    Whatever data you have in here.
</ApplicationData>

MetricList.xml

<?xml version="1.0" ?>
<MetricList>
    Whatever list you have in here.
</MetricList>

AssessmentInput.xml

<?xml version="1.0" ?>
<AssessmentInput />

以下转换merge.xsl应用于AssessmentInput.xml

<?xml version="1.0" ?>
<xsl:transform
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:template match="/AssessmentInput">
        <xsl:copy>
            <xsl:copy-of select="document('ApplicationData.xml')" />
            <xsl:copy-of select="document('MetricList.xml')" />
        </xsl:copy>
    </xsl:template>
</xsl:transform>

产生正确的输出

<?xml version="1.0" encoding="UTF-8"?>
<AssessmentInput>
    <ApplicationData>
        Whatever data you have in here.
    </ApplicationData>
    <MetricList>
        Whatever list you have in here.
    </MetricList>
</AssessmentInput>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读