web-dev-qa-db-ja.com

出力xmlから名前空間を削除する方法は?

以下は私のxslです

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ms="http://www.test.com/schemas/test" 
xmlns:ns="urn:schemas-Microsoft-com:xslt" exclude-result-prefixes="ms ns">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
<XMLResponse>           
    <xsl:apply-templates select="ms:ProductRS/ms:Product"/>
</XMLResponse>
</xsl:template>
<-- some templates here -->
</xsl:stylesheet>

出力では、私は以下のようになります

<?xml version="1.0" encoding="UTF-16"?>
<XMLResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Product>-----</Product>
</XMLResponse>

Xml出力からxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"を削除する必要があります

15
user475464

名前空間を除外するには、次のように表す必要があります。-

exclude-result-prefixes="ms ns xsi "

基本的に、スタイルシートは次のようになります。-

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ms="http://www.test.com/schemas/test" 
xmlns:ns="urn:schemas-Microsoft-com:xslt" exclude-result-prefixes="ms ns xsi">
44
Siva Charan