반응형
Python에서 XSLT를 사용하여 XML 파일을 변환하는 방법은 무엇입니까?
좋은 날! Python에서 xslt를 사용하여 xml을 변환해야합니다. PHP에 샘플 코드가 있습니다.
이것을 파이썬으로 구현하는 방법이나 비슷한 것을 찾을 수있는 곳은? 감사합니다!
$xmlFileName = dirname(__FILE__)."example.fb2";
$xml = new DOMDocument();
$xml->load($xmlFileName);
$xslFileName = dirname(__FILE__)."example.xsl";
$xsl = new DOMDocument;
$xsl->load($xslFileName);
// Configure the transformer
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
lxml 사용 ,
import lxml.etree as ET
dom = ET.parse(xml_filename)
xslt = ET.parse(xsl_filename)
transform = ET.XSLT(xslt)
newdom = transform(dom)
print(ET.tostring(newdom, pretty_print=True))
LXML 은 libxml2 및 libxslt를 기반으로 파이썬에서 XML 처리를 위해 널리 사용되는 고성능 라이브러리입니다. 여기에는 XSLT 용 기능도 포함되어 있습니다 .
가장 좋은 방법은 lxml을 사용하는 것이지만 XSLT 1 만 지원합니다.
import os
import lxml.etree as ET
inputpath = "D:\\temp\\"
xsltfile = "D:\\temp\\test.xsl"
outpath = "D:\\output"
for dirpath, dirnames, filenames in os.walk(inputpath):
for filename in filenames:
if filename.endswith(('.xml', '.txt')):
dom = ET.parse(inputpath + filename)
xslt = ET.parse(xsltfile)
transform = ET.XSLT(xslt)
newdom = transform(dom)
infile = unicode((ET.tostring(newdom, pretty_print=True)))
outfile = open(outpath + "\\" + filename, 'a')
outfile.write(infile)
XSLT 2를 사용하려면 Use saxon with python 에서 옵션을 확인할 수 있습니다.
참조 URL : https://stackoverflow.com/questions/16698935/how-to-transform-an-xml-file-using-xslt-in-python
반응형
'programing' 카테고리의 다른 글
클래스를 선언하지 않고 객체를 생성 할 수 있습니까? (0) | 2020.12.24 |
---|---|
외래 키의 장고 역방향 조회 (0) | 2020.12.24 |
Google지도 반응 형 크기 조정 (0) | 2020.12.24 |
앱이 실행되고 있지 않을 때 iBeacon 알림 (0) | 2020.12.24 |
swagger-ui에 대한 테마가없는 이유는 무엇입니까? (0) | 2020.12.24 |