Я использую Python и lxml.
Я пытаюсь добавить результат преобразования XML в другой объект XML, что приводит к ошибке неверного типа.
У меня есть два xml-файла, которые я хочу объединить в одном и том же дереве XML, но сначала мне нужно применить XSLT-преобразование к одному из двух файлов.
Если я преобразую результат XSLT в строку, а затем проанализирую его, он будет работать, но я бы предпочел пропустить этот шаг и напрямую использовать вывод XSLT.
#Code that works:
xsl = etree.XSLT(etree.parse('Stylesheet.xsl'));
xml = etree.fromstring('<ROOT/>');
xml.append(etree.parse('FileA.xml')));
xml.append(etree.fromstring(str(xsl(etree.parse('FileB.xml')))));
#Code that results in an error:
xsl = etree.XSLT(etree.parse('Stylesheet.xsl'));
xml = etree.fromstring('<ROOT/>');
xml.append(etree.parse('FileA.xml')));
xml.append(xsl(etree.parse('FileB.xml')));
Сообщение об ошибке следующее:
TypeError: Argument 'element' has incorrect type (expected lxml.etree._Element, got lxml.etree._XSLTResultTree)