xml xslt xpath xslt-1.0

¿Necesita eliminar<? Xml version="1.0" encoding="utf-16"?> Del xml



xslt xpath (4)

Hola, estoy generando un xml al aplicar el xsl a una entrada xml. Necesito el resultado sin esta parte "<?xml version="1.0" encoding="utf-16"?>"

entrada - xml

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CreateResponse xmlns="http://jerseytelecom.com/"> <CreateResult> <ISD_XMLGateway> <Entity>RIM_BPS</Entity> </ISD_XMLGateway> </CreateResult> </CreateResponse> </soap:Body> </soap:Envelope>

mi xsl

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:JT="http://jerseytelecom.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="JT"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <xsl:element name="Entity"> <xsl:value-of select="soap:Envelope/soap:Body/JT:CreateResponse/JT:CreateResult/JT:ISD_XMLGateway/JT:Entity"/> </xsl:element> </xsl:template> </xsl:stylesheet>

Salida de corriente

<?xml version="1.0" encoding="utf-16"?> <Entity>RIM_BPS</Entity>

Rendimiento esperado

<Entity>RIM_BPS</Entity>


Intente agregar el atributo omit-xml-declaration="yes" a su etiqueta xsl:output .

Debería leer así:

<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />


Pon esto en tu xslt

<xsl:output method="xml" omit-xml-declaration="yes"/>

o

en un empuje extremo

<xsl:output method="text" />

debería resolver el síntoma ...

El último podría tener consecuencias significativas, dependiendo del procesador.


Utilice este XSLT para eliminar la codificación = "UTF-8" del documento xml usando XSLT. En la sección Cdaata, puede agregar la codificación como desee. Aclamaciones:)

<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" omit-xml-declaration="yes"/> <xsl:template match="/"> <xsl:text disable-output-escaping="yes"><![CDATA[<?xml version="1.0"?>]]></xsl:text> <xsl:copy-of select="node()"/> </xsl:template> </xsl:stylesheet>


Esta completa transformación

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:JT="http://jerseytelecom.com/" exclude-result-prefixes="soap JT"> <xsl:output omit-xml-declaration="yes" indent="yes" encoding="utf-8"/> <xsl:template match="/"> <Entity> <xsl:value-of select= "soap:Envelope/soap:Body/JT:CreateResponse /JT:CreateResult/JT:ISD_XMLGateway/JT:Entity"/> </Entity> </xsl:template> </xsl:stylesheet>

cuando se aplica en el documento XML proporcionado:

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CreateResponse xmlns="http://jerseytelecom.com/"> <CreateResult> <ISD_XMLGateway> <Entity>RIM_BPS</Entity> </ISD_XMLGateway> </CreateResult> </CreateResponse> </soap:Body> </soap:Envelope>

produce el resultado deseado y correcto:

<Entity>RIM_BPS</Entity>