Преобразование XSLT в XML не декодирует специальные символы, такие как '-', © - PullRequest
0 голосов
/ 13 апреля 2020

Я использую приведенный ниже XSLT-файл для преобразования моего XML, преобразование работает нормально, но в выводе XML я не вижу специальных символов, таких как - и ©, вместо этого я вижу такие символы, как - и ©

Я выполняю это преобразование в Python.

XSLT-код:

<xsl:transform version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="no" indent="yes" encoding="utf-8" />

        <xsl:template match="@*|node()">
            <xsl:copy>
                <xsl:apply-templates select=" @*|node()"/>
            </xsl:copy>
        </xsl:template>
        <xsl:template match="tire[@name= 'A123']">
            <xsl:copy>
                <xsl:apply-templates select="@*" />
                <xsl:attribute name="ABC">348</xsl:attribute>
                <xsl:apply-templates />
            </xsl:copy>
        </xsl:template>
        </xsl:transform>

python код:

xml = ET.parse('input_xml.xml')
xslt = ET.parse('myfile.xslt')
transform = ET.XSLT(xslt)
newdom = transform(xml)
newdom.write('output_xml.xml')

Я хочу вывод xml включить специальные символы в том виде, в котором они введены XML,

1 Ответ

0 голосов
/ 13 апреля 2020

Документация l xml в https://lxml.de/xpathxslt.html#xslt -result-objects предполагает, что рекомендуется использовать метод write_output вместо метода write для сериализации результата преобразования XSLT. только write_output учитывает любые настройки xsl:output.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...