2010-02-15 34 views
39

Tôi đang tìm cách thể hiện một dấu xuống dòng trong một nút xml.
Tôi đã thử bảo trì khoảng trắng, thực thể hex không có may mắn- và \ n. xem qua trình duyệt.Mã hóa trả về XML vận chuyển

Ví dụ

<Quote> 
Alas, poor Yorick! 
I knew him 
</Quote> 

Cảm ơn.

Trả lời

1

Trình duyệt sẽ không hiển thị cho bạn khoảng trắng một cách đáng tin cậy. Tôi khuyên bạn nên dùng lệnh 'od' của Linux để xem những gì thực sự có trong đó. Các trình phân tích cú pháp XML phù hợp sẽ tôn trọng tất cả các phương thức bạn đã liệt kê.

13

xml:space="preserve" phải hoạt động cho tất cả các trình phân tích cú pháp XML tuân thủ.

Tuy nhiên, lưu ý rằng trong HTML ngắt dòng chỉ là khoảng trắng và KHÔNG ngắt dòng (điều này được thể hiện với <br /> (X) HTML tag, có lẽ đây là vấn đề mà bạn đang phải đối mặt.

Bạn có thể cũng thêm &#10; và/hoặc &#13; để chèn ký tự CR/LF.

+1

làm việc tuyệt vời cho tôi. Chỉ được hiển thị dưới dạng HTML trong flash. – thomallen

+1

Để ghi lại trình tự trên PC ít nhất là bình thường CR , tiếp theo là LF nhưng những ngày này, một LF đơn thường là đủ. –

+1

Cũng lưu ý rằng, ngay cả với 'xml: space =" prserve "', trình phân tích cú pháp XML vẫn được yêu cầu thay thế '13 10' (và các chuỗi khác) bằng' 10' trước khi phân tích cú pháp] (https: //www.w3 .org/TR/xml11/# giây). Bạn có thể nhập CR có nghĩa là để tồn tại phân tích cú pháp bằng [sử dụng tham chiếu đối tượng ký tự như '& # xD'] (https://www.w3.org/TR/xml11/#sec-common-syn). – binki

65

để chèn một CR vào XML, bạn cần phải sử dụng thực vật của nó &#13;.

này được vì phân tích cú pháp XML tuân thủ phải, trước khi phân tích cú pháp, dịch CRLF và bất kỳ CR nào không theo sau bởi một LF đối với tội lỗi gle LF. Hành vi này được xác định trong phần End-of-Line handling của đặc tả XML 1.0.

+17

Điểm nhỏ - CR là và không là LF - tham khảo bảng ascii này để biết chi tiết ... http://www.asciitable.com/ ... –

+4

Có, là LF, là CR. Thế giới Windows thường có chuỗi CRLF (nghĩa là ), Linux chỉ có LF ( ). – Luke

+0

Tôi đã không thể làm điều này để làm việc trong thập phân, nhưng nó đã được tốt trong hex &#A; – MikeF

Các vấn đề liên quan