2012-07-09 73 views
9

Tôi có dữ liệu XML chứa giá trị thuộc tính dài. Giá trị không chứa các ký tự khoảng trắng. Tôi muốn định dạng XML cho khả năng đọc bằng cách tách văn bản XML để dòng không vượt quá số cột tối đa.
Có cách nào để thực hiện điều này không? Có bất kỳ ký tự ngắt nào mà tôi có thể đặt ở mỗi đầu của dòng để trình phân tích cú pháp XML không coi nó là một khoảng trắng (như ký tự gạch dưới trong hình ảnh cơ bản) không?Giá trị thuộc tính chia tách XML trên nhiều dòng

Ví dụ:

<element attribute="this_is_a_very_long_text_attribute_value_that_I_want_to_split_on multiple_line_for_readability"/> 

Tôi muốn có một cái gì đó như:

<element attribute="this_is_a_very_long 
_text_attribute_value_that_I_want_to_split 
_on multiple_line_for_readability"/> 
+0

bạn nhận ra rằng hai thuộc tính là các giá trị khác nhau nếu bạn muốn khớp với chúng và có thể nếu bạn có giá trị dài như vậy thì tốt hơn trong phần tử văn bản phần tử không có dấu gạch dưới? Không có ký tự nào bạn có thể sử dụng (XML sẽ không bao giờ tách một thuộc tính vì nó phá vỡ nó). Ngoài ra, có thể tùy thuộc vào ngôn ngữ bạn đang xử lý tệp trong – Woody

+0

Giá trị thuộc tính của tôi thực tế là danh sách các giá trị nhỏ hơn được phân tách bằng dấu chấm phẩy. Trong trường hợp này, có vẻ thích hợp hơn khi sử dụng các phần tử phụ. Tôi sử dụng điều này để xử lý các tham số cấu hình dưới dạng các cặp khóa/giá trị trong đó một số có dạng danh sách các chuỗi. Vì vậy, nó không phải là có thể trong trường hợp của tôi để sử dụng một phần tử văn bản bên trong mà không làm thay đổi quan trọng đối với định dạng tệp. Cảm ơn câu trả lời của bạn anyway, tôi chỉ muốn chắc chắn rằng tôi đã không bỏ lỡ một cái gì đó từ đặc tả XML. –

+0

Liên quan: [Các ngắt dòng trong các giá trị thuộc tính XML được cho phép?] (Https://stackoverflow.com/q/449627/3357935) –

Trả lời

3

không có quy định trong XML bản thân cho nhân vật thức ăn đường trong Attribute Values
tuy nhiên điều này có thể được thực hiện tùy thuộc vào IDE bạn đang sử dụng để viết
tức là. nếu bạn đang sử dụng Visual Studio có một điều khoản để ngắt dòng và được xử lý bởi chính IDE
nhưng nếu bạn đang sử dụng một số trình soạn thảo văn bản cấp thấp như Notepad, không thể thực hiện được
bạn có lẽ nên kiểm tra trong tài liệu XML của bạn biên tập viên

+1

Thật sao? [Câu trả lời này] (http://stackoverflow.com/a/449647/33080) nói cách khác; các dòng mới trong các giá trị thuộc tính được cho là được chấp nhận bởi một trình phân tích cú pháp XML tuân thủ. –

+1

nếu bạn sẽ đọc câu hỏi anh chàng này không phải là những gì để có được nhiều dòng ông có một dòng dài mà ông muốn đọc trong nhiều dòng –

+0

Nếu bạn đọc câu trả lời tiếp theo trong câu trả lời ở trên, nó nói về bình thường hóa các thuộc tính. Các dòng mới thường sẽ được chuyển đổi thành dấu cách. \ n không giống như – Dorrin

0

Cũng có một cách: Trong tab chỉ sử dụng ngắn thay vì không gian. Để biết thêm, vui lòng xem câu trả lời này. https://stackoverflow.com/a/38880984/3135511

Cũng như IDE Công cụ nhà phát triển Chrome hoặc Visual Studio có thể bẫy và giới hạn bạn làm như vậy, nhưng một số trình soạn thảo thông thường sẽ thực hiện việc này và html/xml sẽ xử lý.

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