Khi tôi sắp xếp một XML với thuộc tính nàyJAXB: Nguyên soái đầu ra XML với thụt đầu dòng tạo ngắt dòng trống trên dòng đầu tiên
marshal.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshal.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
nó sẽ tạo ra một ngắt dòng trống ở trên cùng
//Generate empty line break here
<XX>
<YY>
<PDF>pdf name</PDF>
<ZIP>zip name</ZIP>
<RECEIVED_DT>received date time</RECEIVED_DT>
</YY>
</XX>
Tôi nghĩ lý do là vì marshal.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
, loại bỏ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
, để lại đầu ra xml ngắt dòng trong đầu. Có cách nào để sửa lỗi này? Tôi sử dụng JAXB đi kèm với JDK 6, hiện Moxy bị vấn đề này?
Vâng. Tôi đã thử Moxy JAXB, và MOxy không bị vấn đề này. Glad Moxy hiện là nhà cung cấp tiêu chuẩn cho Glassfish3.1.2. Khi nào Moxy trở thành nhà cung cấp JAXB tiêu chuẩn cho JDK? –
EclipseLink JAXB (MOXy) vượt qua các thử nghiệm tuân thủ tương tự như việc thực hiện tham chiếu, vì vậy có thể sử dụng chúng tôi mà không cần lo lắng (http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html) . Như bạn đã chỉ ra, MOXy được bao gồm trong GlassFish 3.1.2 (http://blog.bdoughan.com/2012/02/glassfish-312-is-full-of-moxy.html). Chúng tôi cũng là thực hiện JAXB mặc định trong WebLogic 12c (http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html). –
Tôi nghĩ rằng JDK 7 phải đã sửa lỗi này vì tôi dường như không có vấn đề này. –