Tôi đang sử dụng Trình biến đổi XML Java có sẵn để tuần tự hóa một tài liệu XML thành văn bản. Tôi đang gặp một vấn đề tuy nhiên khi tôi outputting trong chế độ HTML.Làm cách nào để ngăn Trình biến đổi XML của Java sử dụng phương thức "HTML" để thêm thẻ <META>?
Bất cứ khi nào tôi chèn phần tử head
, biến áp tích hợp quyết định chèn thẻ META
với dữ liệu kiểu nội dung. Tôi không muốn thẻ này bên trong dữ liệu của mình và dường như tôi không thể tìm thấy thông số đầu ra sẽ tắt tính năng này. Tôi biết tôi có thể xây dựng một bản định kiểu xslt và loại bỏ các thẻ trong câu hỏi, nhưng nó sẽ đơn giản hơn để có thể thiết lập một tham số trên máy biến áp chính nó vô hiệu hóa nó.
Bạn có thể trả lời bằng "nhưng bạn thực sự nên có thẻ này" - tin tôi đi, tôi không cần nó, vì lợi ích vì tôi sẽ không tham gia.
Mẫu mã
Document d;
//d = <html><head><title></title></head><body></body></html>
Transformer t; //properly inited with no xslt specified
t.setOutputProperty(OutputKeys.METHOD,"html");
t.setOutputProperty(OutputKeys.INDENT,"no");
t.transform(new DOMSource(d), result);
System.out.println(result);
lợi nhuận
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title><style type="text/css"></style></head><body></body></html>
Trường hợp tại điểm, tôi không muốn điều đó META
thẻ đó. Làm cách nào để loại bỏ nó theo cách dễ nhất có thể?
UPDATE:
tôi đã chạy ngang qua tùy chọn {http://xml.apache.org/xalan}omit-meta-tag
mà là phải làm những gì tôi đang tìm kiếm. Tuy nhiên có vẻ như nó bị bỏ qua.
bộ ** xml ** giá trị của OutputKeys.METHOD. – adatapost
nó cần phải được html cho những gì tôi đang làm – Mike
Đó là hành vi tiêu chuẩn theo XSLT '[specs] (http://www.w3.org/TR/xslt#section-HTML-Output-Method) và nó được yêu cầu bởi trình duyệt nếu bạn sử dụng mã hóa bộ ký tự khác mặc định. –