【发布时间】:2015-11-17 14:01:55
【问题描述】:
我想使用 XSLT 转换给定的 xml 输入,并且我想从转换后的输出中排除根元素的“xmlns”属性
我的输入 xml 是
<?xml version="1.0" encoding="ISO-8859-1"?>
<library xmlns="https://support.bridgerinsight.lexisnexis.com/downloads/xsd/4.2/CWLEntityExport.xsd">
<book>
<title>Programming in C</title>
<author>Balagurusamy</author>
<country>India</country>
<price>165</price>
<year>1998</year>
</book>
<book>
<title>Professional ASP.NET 4 in C# and VB</title>
<author>Bill Evjen, Scott Hanselman, Devin Rader</author>
<country>USA</country>
<price>580</price>
<year>2010</year>
</book>
<book>
<title>Professional Microsoft SQL Server 2008 Programming</title>
<author>Robert Vieira</author>
<country>USA</country>
<price>520</price>
<year>2009</year>
</book>
<book>
<title>Professional LINQ</title>
<author>Scott Klein</author>
<country>USA</country>
<price>425</price>
<year>2008</year>
</book>
</library>
使用XSLT转换后预期的xml输出如下
<?xml version="1.0" encoding="UTF-8"?>
<BookList>
<Book>
<title>Programming in C</title>
<author>Balagurusamy</author>
<country>India</country>
</Book>
<Book>
<title>Professional ASP.NET 4 in C# and VB</title>
<author>Bill Evjen, Scott Hanselman, Devin Rader</author>
<country>USA</country>
</Book>
<Book>
<title>Professional Microsoft SQL Server 2008 Programming</title>
<author>Robert Vieira</author>
<country>USA</country>
</Book>
<Book>
<title>Professional LINQ</title>
<author>Scott Klein</author>
<country>USA</country>
</Book>
</BookList>
我的 xslt 是
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<BookList>
<xsl:for-each select="library/book">
<Book>
<title>
<xsl:value-of select="title"/>
</title>
<author>
<xsl:value-of select="author"/>
</author>
<country>
<xsl:value-of select="country" />
</country>
</Book>
</xsl:for-each>
</BookList>
</xsl:template>
</xsl:stylesheet>
我需要在上面的 XSLT 中进行哪些更改才能获得给定的预期输出 xml?
【问题讨论】: