Hướng dẫn transform xml to html using xslt in python - chuyển đổi xml thành html bằng cách sử dụng xslt trong python

Ngày tốt! Cần chuyển đổi XML bằng XSLT trong Python. Tôi có một mã mẫu trong PHP.

Làm thế nào để thực hiện điều này trong Python hoặc nơi để tìm một cái gì đó tương tự? Cảm ơn bạn!

$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);

Khi được hỏi ngày 22 tháng 5 năm 2013 lúc 18:17May 22, 2013 at 18:17

Hướng dẫn transform xml to html using xslt in python - chuyển đổi xml thành html bằng cách sử dụng xslt trong python

aphexaphexaphex

1.1071 Huy hiệu vàng12 Huy hiệu bạc17 Huy hiệu đồng1 gold badge12 silver badges17 bronze badges

Sử dụng 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))

Hướng dẫn transform xml to html using xslt in python - chuyển đổi xml thành html bằng cách sử dụng xslt trong python

R sahu

Huy hiệu vàng 202K1414 gold badges150 silver badges264 bronze badges

Đã trả lời ngày 22 tháng 5 năm 2013 lúc 18:23May 22, 2013 at 18:23

UnutbuUnutbuunutbu

803K173 Huy hiệu vàng1727 Huy hiệu bạc1627 Huy hiệu đồng173 gold badges1727 silver badges1627 bronze badges

6

LXML là một thư viện hiệu suất cao được sử dụng rộng rãi để xử lý XML trong Python dựa trên libxml2 và libxslt - nó cũng bao gồm các cơ sở cho XSLT.

Hướng dẫn transform xml to html using xslt in python - chuyển đổi xml thành html bằng cách sử dụng xslt trong python

R sahu

Huy hiệu vàng 202K1414 gold badges150 silver badges264 bronze badges

Đã trả lời ngày 22 tháng 5 năm 2013 lúc 18:23May 22, 2013 at 18:22

UnutbuUnutbumiku

803K173 Huy hiệu vàng1727 Huy hiệu bạc1627 Huy hiệu đồng46 gold badges303 silver badges307 bronze badges

LXML là một thư viện hiệu suất cao được sử dụng rộng rãi để xử lý XML trong Python dựa trên libxml2 và libxslt - nó cũng bao gồm các cơ sở cho XSLT.

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)

Đã trả lời ngày 22 tháng 5 năm 2013 lúc 18:22

MikumikuOct 17, 2017 at 10:27

Phim thương hiệu vàng 176K46Maliq

Cách tốt nhất là làm điều đó bằng LXML, nhưng nó chỉ hỗ trợ XSLT 11 gold badge2 silver badges9 bronze badges

Tài liệu nguồn là một bảng nội dung được viết ở định dạng XML và chúng tôi muốn hiển thị nó trong HTML. Chúng tôi sẽ sử dụng mô -đun XSLT của thư viện LXML trong Python

 
>
   title="Lucene Basics(or Fundamentals)">
     title="Lucene Searching">
       type="internal" title="Lucene Scoring">
         title="How Lucene scoring works" seotitle="how-lucene-scoring-works">
        >
      >    
       type="terminal" title="" seotitle="">
         title="hello world" seotitle="how-lucene-scoring-works">
        >
      >
    >
  >
 
   title="Lucene Index">
     title="Lucene Searching">
       type="internal" title="Lucene Scoring">
         title="How Lucene indexing works" seotitle="how-lucene-indexing-works">
        >
         title="Lucene Index tutorial" seotitle="lucene-index-tutorial">
        >
      >    
       type="terminal" title="" seotitle="">
      >
    >
  >  
>
 

Và mẫu XSLT được sử dụng để chuyển đổi nó thành HTML

 
  version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      match="/">
          class="toc-contents">
             >
                 />
             >
         >
     >
      match="part">
         >
           class="toc-part">
              > select="@title"/>>
              >
                   select="chapter"/>
              >
          >
         >
     >
      match="chapter">
         >
           class="toc-chapter">
              > select="@title"/>>
              >
                   select=".//leaf"/>
              >
          >             
         >
     >
      match="leaf">
 
         >
             >
                  name="href">
                     http://makble.com/ select="@seotitle"/>
                >
               select="@title"/>>
         >
     >
 >
 

Mã Python:

 
import lxml.html
from lxml import etree
 
xslt_doc = etree.parse("test-xslt.xslt")
xslt_transformer = etree.XSLT(xslt_doc)
 
source_doc = etree.parse("toc-test.xml")
output_doc = xslt_transformer(source_doc)
 
print(str(output_doc))
output_doc.write("output-toc.html", pretty_print=True)
 

Trong HTML, nó có thể trông như thế này

Hướng dẫn transform xml to html using xslt in python - chuyển đổi xml thành html bằng cách sử dụng xslt trong python

Làm thế nào XML được chuyển đổi thành định dạng HTML bằng XSLT?

Cách tiêu chuẩn để chuyển đổi dữ liệu XML thành các định dạng khác là bằng các phép biến đổi ngôn ngữ kiểu kiểu mở rộng (XSLT). Bạn có thể sử dụng chức năng XSLTransform tích hợp để chuyển đổi các tài liệu XML thành HTML, văn bản thuần túy hoặc các lược đồ XML khác nhau. XSLT sử dụng các kiểu dáng để chuyển đổi XML thành các định dạng dữ liệu khác.use the built-in XSLTRANSFORM function to convert XML documents into HTML, plain text, or different XML schemas. XSLT uses stylesheets to convert XML into other data formats.

XML có tương đương với HTML không?

Với XSLT, bạn có thể chuyển đổi tài liệu XML thành HTML..

XSLT biến đổi XML như thế nào?

XSLT thường được sử dụng để chuyển đổi XML thành HTML, nhưng cũng có thể được sử dụng để chuyển đổi các tài liệu XML tuân thủ một lược đồ XML thành các tài liệu tuân thủ lược đồ khác.XSLT cũng có thể được sử dụng để chuyển đổi dữ liệu XML thành các định dạng không liên quan, như văn bản được phân phối bằng dấu phẩy hoặc các ngôn ngữ định dạng như Troff.commonly used to convert XML to HTML, but can also be used to transform XML documents that comply with one XML schema into documents that comply with another schema. XSLT can also be used to convert XML data into unrelated formats, like comma-delimited text or formatting languages such as troff.

XSLT có thể biến đổi XML thành JSON không?

XSLTJSON: Chuyển đổi XML thành JSON bằng cách sử dụng XSLT JSON là định dạng-Interchange dữ liệu nhẹ dựa trên một tập hợp con của ngôn ngữ JavaScript và thường được cung cấp thay thế cho XML trong các dịch vụ WEB ví dụ.Để làm cho cuộc sống dễ dàng hơn XSLTJSON cho phép bạn tự động chuyển đổi XML thành JSON.XSLTJSON allows you to transform XML to JSON automatically.