Hướng dẫn xml to html using xslt java - xml sang html sử dụng xslt java

Tôi muốn chuyển đổi tệp XML thành tệp HTML với sự trợ giúp của XSLT. Nhưng tôi đang gặp một lỗi, tức là.

javax.xml.transform.transformerException: javax.xml.transform.transformerexception: com.sun.org.apache.xml.iternal.utils.wrappedruntimeException: Byte không hợp lệ 1 của 1-byte utf-8 Sequence.

Tệp XML



    
            1
            John
            25
          20000
   
    
            2
            Tony
            27
            23000
    
    
            3
            Eithen
            29
            25000
    

Tệp XSL



   
      
         
            

Company Details

EmpId EmpName Age Salary

Mã Java

public class TransInfoHtml 
{
public static void main(String args[])
{
try {
        TransformerFactory tFactory=TransformerFactory.newInstance();

        Source xslDoc=new StreamSource("files/NewStylesheet.xsl");
        Source xmlDoc=new StreamSource("D:/Demo.xml");

        String outputFileName="CompanyInfo.html";

        OutputStream htmlFile=new FileOutputStream(outputFileName);
        Transformer trasform=tFactory.newTransformer(xslDoc);
        trasform.transform(xmlDoc, new StreamResult(htmlFile));
    } 
    catch (FileNotFoundException e) 
    {
        e.printStackTrace();
    }
    catch (TransformerConfigurationException e) 
    {
        e.printStackTrace();
    }
    catch (TransformerFactoryConfigurationError e) 
    {
        e.printStackTrace();
    }
    catch (TransformerException e) 
    {
        e.printStackTrace();
    }
}
}

Hướng dẫn xml to html using xslt java - xml sang html sử dụng xslt java

Carl Veazey

18.4K8 Huy hiệu vàng65 Huy hiệu bạc81 Huy hiệu Đồng8 gold badges65 silver badges81 bronze badges

Đã hỏi ngày 6 tháng 11 năm 2013 lúc 11:59Nov 6, 2013 at 11:59

0

Đối với tôi, đây trông giống như một vấn đề mã hóa. Cố gắng đảm bảo rằng các tệp được mã hóa chính xác trong mọi trường hợp.

Ví dụ: thêm encoding="UTF-8" vào tệp XML và XSLT của bạn. Nhưng lưu ý rằng đây chỉ là một tuyên bố - nó không thay đổi chính các nhân vật.

Ngoài ra, bạn có thể sao chép nội dung XML của mình vào trình chỉnh sửa đơn giản và lưu nó một cách rõ ràng dưới dạng UTF-8. Chẳng hạn, nếu bạn đang sử dụng Windows, hãy sao chép nội dung vào Notepad, hãy nhấn "Lưu dưới dạng ...". Trong hộp thoại tệp, bạn có thể chọn "UTF-8" từ thả xuống.

Đã trả lời ngày 6 tháng 11 năm 2013 lúc 13:07Nov 6, 2013 at 13:07

Hướng dẫn xml to html using xslt java - xml sang html sử dụng xslt java

Mathias Müllermathias MüllerMathias Müller

21.7K13 Huy hiệu vàng58 Huy hiệu bạc75 Huy hiệu đồng13 gold badges58 silver badges75 bronze badges

Mã của bạn hoạt động tốt. Trong câu hỏi stylesheet nút không bị đóng.


   
    ---
   

Đồng thời kiểm tra đường dẫn XSL đúng cách hoặc kiểm tra bằng cách

Source xslDoc=new StreamSource("D:/NewStylesheet.xsl");`

Đã trả lời ngày 6 tháng 11 năm 2013 lúc 12:12Nov 6, 2013 at 12:12

vels4jvels4jvels4j

11.1k5 Huy hiệu vàng40 Huy hiệu bạc59 Huy hiệu đồng5 gold badges40 silver badges59 bronze badges

1

Đối với trường hợp đặc biệt của các trang XHTML chuyển đổi thành HTML, chúng ta có thể sử dụng HTMLWriter từ API DOM4J.

@Test
public void givenXHTML_whenWrite_thenGetHTML() throws Exception {
    String xml = "" +
      "  " +
      "
Hướng dẫn xml to html using xslt java - xml sang html sử dụng xslt java

JuanmorenojuanmorenoJuanMoreno

2.2051 Huy hiệu vàng24 Huy hiệu bạc32 Huy hiệu đồng1 gold badge24 silver badges32 bronze badges

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.

Tôi có thể sử dụng XSL trong HTML không?

XSL có thể được sử dụng phía máy chủ và phía máy khách.Việc gửi XSL có hai lớp đầu ra: đối tượng dòng chảy kiểu DSSSL và thẻ HTML.. The XSL Submission has two classes of output: DSSSL-style flow objects and HTML tags.

XSLT có nhanh hơn Java không?

XSLT nhanh hơn và súc tích hơn để phát triển hơn là thực hiện các phép biến đổi trong Java.Bạn có thể thay đổi XSLT mà không cần phải biên dịch lại toàn bộ ứng dụng (chỉ cần tạo lại tai và triển khai lại).. You can change XSLT without having to recompile the entire application (just re-create EAR and redeploy).

Làm thế nào chuyển đổi XML thành XSLT?

Thực hiện chuyển đổi XSLT từ tệp XML Mở tài liệu XML trong trình soạn thảo XML.Liên kết một bảng kiểu XSLT với tài liệu XML.Thêm một hướng dẫn xử lý bảng điểm XML vào tài liệu XML.Ví dụ: thêm dòng sau vào tài liệu Prolog:Open an XML document in the XML editor. Associate an XSLT style sheet with the XML document. Add an xml-stylesheet processing instruction to the XML document. For example, add the following line to the document prolog: