01/10/2018, 01:00

Làm sao để định dạng chuỗi XML theo kiểu như thế này?

Giả sử mình có một chuỗi xml như thế này (được lưu trong object Document):

<?xml version="1.0"?><ExtraTips><Tip>
aaaaaaa
bbbbbbb
</Tip></ExtraTips>

Mình cần định dạng nó trở thành như thế này (tức là nodeValue được indent vào cho mỗi lần xuống dòng):

<?xml version="1.0"?>
<ExtraTips>
   <Tip>
      aaaaaaa
      bbbbbbb
   </Tip>
</ExtraTips>

Hiện tại mình chưa tìm được library nào để mà được như vậy cả, có ai biết lib nào (lập trình đồng bộ), hoặc thuật toán nào để làm được vậy không?

*grab popcorn* viết 03:00 ngày 01/10/2018

Search HTML/JS Beautifier (nôm na là Beautifier or Formatter :D)

GitHub

beautify-web/js-beautify

js-beautify - Beautifier for javascript

明玉 viết 03:15 ngày 01/10/2018

Có cách nào mà giữ được dấu xuống dòng trong nodeValue không bạn?

*grab popcorn* viết 03:09 ngày 01/10/2018

Chắc đừng trim or join các dòng trong nodevalue lại là đc :?
Nói chung mình chỉ search ra thôi chứ ko có xài cái lib kia bh

Còn ko thì có mình nghĩ csai thuật ntn: :?

-Tách hết các tab, mỗi tab 1 dòng, nội dung dữ nguyên thì tách một đoạn nội dung thành 1 đoạn.

  • intenttab = 0
  • duyệt từng dòng
  • tab dòng đang duyệt vào indenttab lần
  • Nếu input = open tag thì tăng intenttab lên 1 còn ko thì giảm indenttab đi 1. Nếu là text or tag đặc biệt thì khỏi cần tăng giảm.
Bài liên quan
0