使用'copy-of'输入 xml u XSLT 代码添加外部元素



下面是输入XML-

*<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/CR_GETA_Report_for_BIRT_Data">
<wd:Report_Entry>

<wd:Student>Sam</wd:Student>
<wd:Units>3</wd:Units>
<wd:Grade>B</wd:Grade>
<wd:Academic_Period>2014 Fall</wd:Academic_Period>
<wd:FinalTag>Western_Civilization</wd:FinalTag>
<wd:CF_TC_Met>Yes</wd:CF_TC_Met>
</wd:Report_Entry>
</wd:Report_Data>*

下面是XSLT代码-

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wd="urn:com.workday.report/CR_GETA_Report_for_BIRT_Data"
exclude-result-prefixes="xs"
version="1.0">
<xsl:param name="MatricDate"/>
<xsl:template match="wd:Report_Data">
<xsl:copy-of select="*"/>
</xsl:template>
</xsl:stylesheet>

我正在从XML外部获取"MatricDate=2019/10/10"值,并希望与我的输入XML消息一起添加。有人能帮我怎么做到这一点吗?

期望输出-

<?xml version="1.0" encoding="utf-8"?><wd:Report_Entry xmlns:wd="urn:com.workday.report/CR_GETA_Report_for_BIRT_Data">

<wd:Student>Sam</wd:Student>
<wd:Units>3</wd:Units>
<wd:Grade>B</wd:Grade>
<wd:Academic_Period>2014 Fall</wd:Academic_Period>
<wd:FinalTag>Western_Civilization</wd:FinalTag>
<wd:CF_TC_Met>Yes</wd:CF_TC_Met>
<wd:MatricDate>2019/10/10</wd:MatricDate>
</wd:Report_Entry

感谢您的时间和努力!

尝试:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wd="urn:com.workday.report/CR_GETA_Report_for_BIRT_Data">
<xsl:param name="MatricDate"/>
<xsl:template match="/wd:Report_Data/wd:Report_Entry">
<xsl:copy>
<xsl:copy-of select="*"/>
<wd:MatricDate>
<xsl:value-of select="$MatricDate"/>
</wd:MatricDate>
</xsl:copy>
</xsl:template> 
</xsl:stylesheet>

注意,这假设在输入XML中只有一个wd:Report_Entry。否则,结果将是一个XML片段,而不是一个具有单个根元素的格式良好的XML文档。

相关内容

  • 没有找到相关文章

最新更新