Tôi muốn áp dụng Biểu định kiểu XSLT cho Tài liệu XML bằng C# và ghi đầu ra vào Tệp.Cách áp dụng Biểu định kiểu XSLT trong C#
Trả lời
Tôi tìm thấy một câu trả lời có thể ở đây: http://web.archive.org/web/20130329123237/http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63
Từ bài viết:
XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ;
XslTransform myXslTrans = new XslTransform() ;
myXslTrans.Load(myStyleSheet);
XmlTextWriter myWriter = new XmlTextWriter("result.html",null) ;
myXslTrans.Transform(myXPathDoc,null,myWriter) ;
Edit:
Nhưng biên dịch đáng tin cậy của tôi nói, XslTransform
là lỗi thời: Sử dụng XslCompiledTransform
thay vì:
XPathDocument myXPathDoc = new XPathDocument(myXmlFile) ;
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(myStyleSheet);
XmlTextWriter myWriter = new XmlTextWriter("result.html",null);
myXslTrans.Transform(myXPathDoc,null,myWriter);
Vì tôi đã lấy một số câu trả lời của bạn để làm cho lớp mà tôi đang liên kết đến, nghĩ rằng tôi đã đặt nó như một bình luận ở đây Hy vọng rằng nó đơn giản hóa mọi thứ cho mọi người: http://dftr.ca/?p=318 – DFTR
Tôi thích giải pháp này thay vì phiên bản quá tải vì bạn có thể đặt [XmlReaderSettings] (http://msdn.microsoft.com/ en-us/library/system.xml.xmlreadersettings% 28v = vs.110% 29.aspx) và [XmlWriterSettings] (http://msdn.microsoft.com/en-us/library/system.xml.xmlwritersettings%28v = vs.110% 29.aspx) sử dụng DTD, Schemas, vv –
Tôi cần làm điều này trong VB.NET (ngôn ngữ "offspec" của tôi, tôi thích C#), và câu trả lời của bạn dẫn đến giải pháp của tôi. Cảm ơn – Eon
Đây là một hướng dẫn về làm thế nào để làm biến đổi XSL trong C# trên MSDN:
http://support.microsoft.com/kb/307322/en-us/
và ở đây làm thế nào để viết các tập tin:
http://support.microsoft.com/kb/816149/en-us
cũng giống như một mặt lưu ý: nếu bạn cũng muốn xác thực ở đây là một hướng dẫn khác (cho DTD, XDR và XSD (= Schema)):
http://support.microsoft.com/kb/307379/en-us/
tôi đã thêm điều này chỉ để cung cấp thêm một số thông tin.
Đây là câu trả lời chỉ dành cho liên kết. Vui lòng bao gồm các phần liên quan của các trang được liên kết. –
Dựa trên câu trả lời tuyệt vời Daren của, lưu ý rằng mã này có thể được rút ngắn đáng kể bằng cách sử dụng thích hợp XslCompiledTransform.Transform overload:
var myXslTrans = new XslCompiledTransform();
myXslTrans.Load("stylesheet.xsl");
myXslTrans.Transform("source.xml", "result.html");
(Xin lỗi vì tạo dáng này như là một câu trả lời, nhưng sự hỗ trợ code block
trong ý kiến là khá hạn chế .)
Trong VB.NET, bạn thậm chí không cần một biến:
With New XslCompiledTransform()
.Load("stylesheet.xsl")
.Transform("source.xml", "result.html")
End With
- 1. Tham số biểu định kiểu XSLT trong biểu định kiểu đã nhập
- 2. Áp dụng kiểu WPF mặc định
- 3. Làm cách nào để nhập biểu định kiểu trong xslt có điều kiện?
- 4. Áp dụng XSLT vào thư WCF
- 5. WPF - Cách tạo kiểu áp dụng kiểu cho kiểu con
- 6. Kiểu Javascript 'áp dụng` trong Ruby?
- 7. Áp dụng kiểu cho ListItems trong CheckBoxList
- 8. Áp dụng các tờ kiểu trong pyqt
- 9. làm cách nào để áp dụng biểu định kiểu CSS cho tất cả lượt xem trang trong trình duyệt Firefox
- 10. Cần phải chặn "Cảnh báo: chạy biểu định kiểu XSLT 1.0 với bộ xử lý XSLT 2.0" trong tệp nhật ký xuất bản Tomcat
- 11. iOS tương đương với biểu định kiểu?
- 12. cách áp dụng biểu định kiểu có điều kiện $ this-> headLink() -> appendStylesheet ('css/css.css') với zend-framework
- 13. Cách đặt biểu tượng của QToolButton bằng cách sử dụng biểu định kiểu?
- 14. Kiểu từ generic.xaml không được áp dụng
- 15. Áp dụng XSLT trên XML trước khi nhập vào Excel
- 16. Làm cách nào để ngăn các không gian tên dư thừa này khỏi biểu định kiểu XSLT?
- 17. Cách định dạng ngày trong xslt?
- 18. Lựa chọn mặc định của các mẫu áp dụng XSLT là gì?
- 19. XSLT cách tạo kiểu có điều kiện chẵn/lẻ hàng
- 20. Kiểu jQuery không được áp dụng trong Safari
- 21. Tính đặc hiệu của CSS - Cách "nó" quyết định áp dụng kiểu nào?
- 22. Áp dụng kiểu cho con đầu tiên?
- 23. jQuery addClass không áp dụng kiểu động
- 24. Làm cách nào để nhận biểu định kiểu @import của tôi để ghi đè biểu định kiểu chính?
- 25. WPF/C# - Áp dụng định dạng ngày cho listview
- 26. áp dụng kiểu css cho một lớp lồng trong div
- 27. Biểu định kiểu XML mặc định trong Chrome?
- 28. Sử dụng nhiều QStyledItemDelegate với biểu định kiểu
- 29. Làm cách nào để áp dụng kiểu trong Điều khiển WPF?
- 30. Tôi làm cách nào để sử dụng lại màu trong biểu định kiểu?
Thực ra, tôi nghĩ đây là một câu hỏi hay và bạn đã cung cấp một câu trả lời hay. Đề cử cho mở lại. –
Tôi thấy Xslt khó hiểu, do đó, điều này đã giúp tôi https://github.com/beto-rodriguez/SuperXml –