2010-01-25 34 views
9
String root = "RdbTunnels"; 
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); 
Document document = documentBuilder.newDocument(); 
Element rootElement = document.createElement(root); 
document.appendChild(rootElement); 

OutputFormat format = new OutputFormat(document); 
format.setIndenting(true); 


XMLSerializer serializer = new XMLSerializer(System.out, format); 
serializer.serialize(document); 

cho kết quả như sauloại bỏ khai xml từ tài liệu xml tạo sử dụng java

<?xml version="1.0" encoding="UTF-8"?> 
<RdbTunnels/> 

nhưng tôi cần phải loại bỏ tờ khai xml từ đầu ra làm thế nào tôi có thể làm điều đó

+3

Tại sao bạn cần phải loại bỏ nó? – Quentin

+0

Nếu bạn cần loại bỏ khai báo XML, bạn không cần XML. Bạn cần trình phân tích cú pháp tài liệu độc quyền được định dạng một phần-nhưng-không-thực sự của flash. Tôi đề nghị bạn sử dụng regex. –

+1

ahhh chuyên gia ghế bành, xin lỗi, nhưng không. Nó vẫn là XML ngay cả khi hệ thống không hỗ trợ tiêu đề xml .... – edthethird

Trả lời

15

Có bạn thấy OutputKeys khi được sử dụng bởi Transformer? Cụ thể là OMIT_XML_DECLARATION.

Lưu ý rằng việc xóa tiêu đề có hiệu lực trong XML 1.0, nhưng bạn mất dữ liệu mã hóa ký tự (trong số những thứ khác) có thể rất quan trọng.

+0

Tôi cơ bản điền dữ liệu cơ sở dữ liệu vào tệp * .tbl để tham chiếu cho một số người dùng, Nó sẽ được sử dụng làm tham chiếu, cần phải ở dạng xml định dạng và neet không phải là một tài liệu xml. – flash

+1

Dữ liệu mã hóa ký tự không quan trọng đối với 'UTF-8' vì điều này là mặc định cho một tài liệu không có Tuyên bố XML. – bobince

10

Thêm này

format.setOmitXMLDeclaration(true); 

Ví dụ

OutputFormat format = new OutputFormat(document); 
format.setIndenting(true); 
format.setOmitXMLDeclaration(true); 
2

Bằng việc sử dụng setOmitXMLDeclaration (true); phương thức từ lớp Định dạng. Tôi không chắc chắn nhưng tôi nghĩ rằng nó sử dụng lib lib.

Ví dụ (nó sẽ hiển thị các tập tin XML mà không cần khai báo XML của tài liệu Document)

XMLOutputter out= new XMLOutputter(Format.getCompactFormat().setOmitDeclaration(true)); 
out.output(document, System.out); 
Các vấn đề liên quan