Làm cách nào để định dạng XML trong Notepad ++?


1739

Tôi có Notepad ++ và tôi đã nhận được một số mã XML rất dài. Khi tôi dán nó trong Notepad ++, có một dòng mã dài (khó đọc và làm việc với).

Tôi muốn biết nếu có một cách đơn giản để làm cho văn bản có thể đọc được (bằng cách đọc tôi có nghĩa là mã được gắn thẻ đúng).

Tôi có thể làm nó bằng tay, nhưng tôi muốn một giải pháp lâu dài cho việc này vì tôi đã phải đối mặt với điều này nhiều lần. Tôi chắc chắn có một cách để làm điều này như tôi đã làm nó một lần trước khi một vài năm trở lại đây, có thể với Visual Studio hoặc một số trình soạn thảo khác, tôi không nhớ.

Nhưng Notepad ++ có làm được không?


3
Việc định cấu hình XMLTools hơi phức tạp với các phiên bản mới nhất. Trong Windows 10, Notepad ++ phiên bản V6.6.8 tôi đã cấu hình XMLTools 2.4.7 thành công. Tải xuống plugin mới nhất từ liên kết này và làm theo hướng dẫn trong install.txt> notepad-plus-plus.org/community/topic/125/ .
S.Roshanth

1
Giải pháp hiện tại cho phiên bản 64 bit: superuser.com/q/1239935/333622
Raidri hỗ trợ Monica

Câu trả lời:


2438

Thử các Plugin -> Công cụ XML -> In đẹp (libXML) hoặc (chỉ XML - với các ngắt dòng Ctrl+ Alt+ Shift+ B)

Bạn có thể cần cài đặt Công cụ XML bằng trình quản lý plugin để có tùy chọn này trong menu.

Theo kinh nghiệm của tôi, libXML cho đầu ra đẹp nhưng chỉ khi tệp được hình thành chính xác 100%.


635
nếu bạn không thể tìm thấy Công cụ XML trong Trình cắm, hãy đặt nó từ Trình cắm> Trình quản lý trình cắm> Hiển thị Trình quản lý trình
cắm

30
Nếu bạn gặp lỗi "Lỗi được phát hiện trong nội dung" khi thử sử dụng plugin này, hãy thử Công cụ XML -> Kiểm tra cú pháp XML ngay bây giờ. Tôi gặp vấn đề trong đó mã hóa được chỉ định là UTF-16 nhưng thực tế là UTF-8. Thay đổi thuộc tính mã hóa trong tệp XML đã khắc phục sự cố.
Mirza Dobric

153
Và nếu Trình quản lý trình cắm của bạn không thể tìm thấy Công cụ XML vì bạn đứng sau một proxy tại nơi làm việc, hãy tải xuống từ đây sourceforge.net/projects/npp-plugins/files/XML%20Tools Sau đó sao chép XMLTools.dll vào thư mục plugin và Phần còn lại của bốn dll vào thư mục Notepad ++ gốc.
Amit N Nikol

15
Quảng cáo nếu bạn không thể thấy bất kỳ plugin nào có sẵn, hãy chuyển đến "cập nhật" và cập nhật trình quản lý plugin của bạn.
Surasin Tancharoen

37
... VÀ nếu bạn không có plugin Trình quản lý plugin, bạn có thể tải xuống từ đây: github.com/bruderstein/nppPluginManager/release
Zbigniew Wiadro

111

Bạn cần cài đặt công cụ XML từ mục menu PluginsTrình quản lý pluginHiển thị Trình quản lý plugin và sau đó kiểm tra các công cụ XML, cài đặt nó và sau đó Ctrl+ Alt+ Shift+B HOẶC tùy chọn cho Công cụ XML ở trên hiển thị.


80
Step 1: Install XML Tools plugin
Step 2: Format ....completed

nhập mô tả hình ảnh ở đây


2
câu trả lời tuyệt vời, tuy nhiên tôi không có "Trình quản lý plugin" o_O Ai có thể giúp đỡ không? Có phải nó đã được gỡ bỏ trong khi đó?
fl0w

làm việc cho tôi..Đối với các phiên bản mới của notepad ++ có quản trị viên plugin thay vì trình quản lý plugin
Jayani Sumudini

42

Hãy thử TextFX → TextFX Html Tidy → Tidy: reindent XML

Nếu bạn không thể thử với Eclipse, hãy thực hiện đúng nút, nguồn và thụt lề chính xác.


2
Cảm ơn câu trả lời nhưng tôi không thể tìm thấy Tidy: reindent XML trong menu TextFX Html Tidy của tôi. Bạn có thể cho tôi biết những gì tôi đang thiếu?
happyhardik

3
Nếu bạn không có tùy chọn "TextFX" toàn cầu thì bạn cần cài đặt plugin có tên TextFX. Nhưng điều đó là không đủ, rõ ràng các phiên bản 6.x cũng thiếu phần tải xuống libtidy.dll nên bạn phải trải qua các vòng để có được nó. Sau đó, bạn sẽ có tùy chọn Tidy: reindent XML (tôi đoán)
rogerdpack

1
Tôi có tùy chọn như vậy nhưng không có gì (và không đưa ra thông báo lỗi).
Thủy thủ Danubian

Đối với bất kỳ ai khác thắc mắc, các hoops được đề cập bởi @rogerdpack sẽ được thảo luận tại đây
Steve Chambers

1
Vấn đề chính tôi gặp phải với TidyXML là nó chậm một cách điên cuồng đối với bất kỳ tệp nào trong một hoặc hai meg.
TS

33

Các plugin -> Công cụ XML -> In đẹp (libXML) hoặc Ctrl+ Alt+ Shift+B

Bạn có thể cần phải cài đặt plugin:

Plugin> Trình quản lý trình cắm> Hiển thị Trình quản lý trình cắm

Nếu bạn đứng sau một proxy, hãy tải xuống từ đây .

Sau đó sao chép XMLTools.dllvào thư mục plugin và các thư viện bên ngoài (bốn dll) vào thư mục Notepad ++ gốc.


19

Dưới đây là hầu hết các plugin bạn có thể sử dụng trong Notepad ++ để định dạng mã XML của mình.

  • UniversalIndentGUI
    (Tôi khuyên bạn nên cái này)

Bật 'cập nhật tự động văn bản' trong trình quản lý plugin->
Phím tắt UniversalIndentGUI = CTRL+ ALT+ SHIFT+J

  • TextFX
    (đây là công cụ mà hầu hết người dùng sử dụng)

Phím tắt = CTRL+ ALT+ SHIFT+B

  • Công cụ XML
    (plugin tùy chỉnh cho XML)

Phím tắt = CTRL+ ALT+ SHIFT+B


1
Khi tôi sử dụng UniversalIndentGUI để thụt một dòng XML lớn, nó không hoạt động. Tôi không có thay đổi.
Alex

1
Tôi đã kiểm tra lại và nó không hoạt động ngay sau khi cài đặt plugin. Bạn phải chỉnh sửa cài đặt của plugin, đi đến tùy chọn thụt lề XML và kiểm tra tùy chọn Bắt buộc dòng mới. Bây giờ nó hoạt động. Cảm ơn các mẹo vì nó giúp XML không chính xác 100% :)
Alex

UniversalIndentGUI đã làm việc cho tôi khi các tùy chọn khác không thành công, không hiểu tại sao ngoại trừ tệp XML tôi đang chỉnh sửa là 40 MB cộng. Nó cũng cực kỳ nhanh chóng. Đạo cụ cho Alex cho mẹo tùy chọn dòng lực lượng XML.
Branstar

TextFX đã được loại bỏ - từ Tương lai của TextFX : "... chia tay một công việc lâu đời đã phục vụ tốt cho cộng đồng."
Peter Mortensen

15

Tất cả các câu trả lời trước không xác định cách thêm trình quản lý plugin trong cài đặt Notepad ++ của bạn.

Cái này dành cho những người không nhìn thấy trình quản lý plugin trong tab plugin

Tải xuống trình quản lý plugin từ liên kết này - đây là trình quản lý plugin 64 bit . Khi bạn tải xuống trình quản lý plugin, hãy dán vào thư mục plugin. Đây là vị trí thư mục plugin của tôi:C:\Program Files\Notepad++\plugins

Nhập mô tả hình ảnh ở đây

Sau khi dán tập tin, hãy khởi động lại Notepad ++. Bây giờ bạn có thể cài đặt bất kỳ plugin. Để cài đặt một plugin, nhấp vào tab plugin, sau đó vào trình quản lý plugin và chọn plugin bất cứ điều gì bạn muốn.


14

Để có kết quả tốt nhất, bạn nên sử dụng cả hai công cụ XML gọn gàng công cụ XML. Đây là cách và tại sao:

1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML

TextFX có lợi ích trong việc gói các dòng dài, điều mà Công cụ XML không làm được, nhưng nó không thụt lề chính xác các dòng mới đó.

2. XML Tools -> Pretty print (Text indent)

Công cụ XML bổ sung cho TextFX bằng cách thụt vào các dòng mới được bọc độc đáo.


Tôi đã cố gắng so sánh 2 tệp cấu hình môi trường khác nhau ... có 10 cài đặt khác nhau ... nhưng các thuộc tính xml nằm trên một dòng trong một tệp và trên các dòng khác nhau trong tệp xml khác. Chỉ bằng cách thực hiện cả hai điều này, sự khác biệt thực tế mới xuất hiện trên một công cụ so sánh tệp. Cảm ơn.
granadaCoder

1
TextFX đã được loại bỏ - từ Tương lai của TextFX : "... chia tay một công việc lâu đời đã phục vụ tốt cho cộng đồng."
Peter Mortensen

9

Nếu bạn gặp lỗi này:

Lỗi Notepad ++: Không thể tải plugin 32-bit

Không thể tải plugin 32 bit, XMLTools.dll không tương thích với phiên bản hiện tại của Notepad ++

Tại đây bạn có thể tìm thấy phiên bản hoạt động cho Windows 10 x64: Xml Tools 2.4.9.2 Unicode

Lưu ý: Đây là phiên bản duy nhất tôi thấy hoạt động trên Windows 10 Professional x64.


7

OK, đây là cách tôi đã làm trong Notepad ++:

  • bổ sung
  • Plugin Manager
  • Hiển thị trình quản lý plugin
  • Kiểm tra các công cụ XML
  • Tải về
  • Khởi động lại Notepad ++
  • Mở tệp XML
  • bổ sung
  • Các công cụ XML
  • Bản in đẹp (chỉ XML - có ngắt dòng)

5

Bạn có thể tìm thấy chi tiết tại đây Để định dạng nhanh XML bằng cách sử dụng Pretty Print (libXML)

Cài đặt công cụ XML

Nếu bạn chạy Notepad ++ và tìm trong menu Plugins, bạn sẽ thấy rằng Công cụ XML không có ở đó:

  1. Tải về các công cụ XML từ đây .

  2. Giải nén tệp và sao chép XMLTools.dll vào thư mục bổ trợ Notepad ++ (trong ví dụ trên: C: \ Program Files (x86) \ Notepad ++ \ plugin):

  3. Khởi động lại Notepad ++ và bây giờ bạn sẽ thấy XMLTools xuất hiện trong menu Plugins.

  4. Giải nén tệp ext_libs.zip và sau đó sao chép các tệp DLL đã giải nén vào thư mục cài đặt Notepad ++ (trong ví dụ trên: C: \ Program Files (x86) \ Notepad ++).

  5. Khởi động lại Notepad ++ và cuối cùng bạn sẽ thấy menu Công cụ XML thích hợp.

  6. Tính năng tôi sử dụng nhiều nhất là bản in Pretty Pretty (chỉ XML - có ngắt dòng). Điều này sẽ định dạng bất kỳ đoạn XML nào với tất cả các khoảng cách dòng thích hợp.


4

Notepad ++ v6.6.3 với plugin "Công cụ XML" và phím tắt Ctrl+ Alt+ Shift+ Bhoạt động tốt.


3

Không có một thứ như TextFX trong Notepad ++, ít nhất là trong phiên bản mới nhất. Đây là một trong những lý do tôi vẫn ở với DreamWeaver ngay cả khi điều đó khiến tôi phát điên vì chậm và không phản hồi theo thời gian ...


vâng, mọi thứ đã thay đổi rất nhiều trong phiên bản mới, nhưng tôi vẫn không thể giải quyết nó!
happyhardik

4
đối với phiên bản 5.9.x, hãy truy cập plugin -> trình quản lý plugin -> hiển thị trình quản lý plugin và bạn có thể thêm nó từ đây
Ralph Willgoss

1
Khả năng thêm hoặc không thêm một số tính năng nhất định có thể kỳ lạ lúc đầu, NHƯNG đó là lý do tại sao rất nhiều người SỬ DỤNG Notepad ++ trên nhiều sản phẩm cồng kềnh như DreamWeaver! BẠN quyết định chương trình của bạn mỏng hay mập như thế nào thay vì tải bồn rửa nhà bếp cả ngày mỗi ngày ... (và, đây nên là một bình luận chứ không phải là một câu trả lời được gửi)
BillyNair 5/03/2015

3

Phiên bản mới nhất của Notepad ++ x64 v7.6.2 trên Windows 10 đã chuyển trình quản lý plugin sang 'Quản trị viên plugin'.

Các phiên bản cũ của Notepad ++ và trình quản lý plugin sẽ không hoạt động.


2

"Nhưng Notepad ++ có làm được không?"

Nếu XML không hợp lệ, câu trả lời rõ ràng là 'không'. Tôi đã thử Notepad ++ với các plugin Tidy2 và XMLTools. Cả hai đều đưa ra các lỗi tương tự như "lỗi gặp phải, vui lòng sửa". Nếu bạn không quan tâm đến lỗi, đó là PITA.

Thay vào đó, hãy mở nó trong phòng thu trực quan sau đó chỉnh sửa -> nâng cao -> định dạng tài liệu. Nhanh và xinh.


1
XMLTools sẽ khiếu nại nếu không có phần tử gốc. Nếu XML của bạn hợp lệ, bạn có thể sửa nó bằng cách thêm một cái gì đó như <root>/ </root>ở trên cùng / dưới cùng.
John Fouhy

2

Nếu XML của bạn không hoàn hảo, hãy thử điều này với plugin TextFX character (cài đặt từ Trình quản lý plugin):

Đầu tiên, tìm ">" để sao chép vào bảng tạm. Sau đó chọn TẤT CẢ văn bản của bạn, rồi ...

Trên menu chính: TextFX -> Chỉnh sửa TextFX -> Solit lines tại clipboard ...

Điều này sẽ làm một công việc hợp lý, không hoàn hảo, nhưng ít nhất mọi thứ sẽ có thể đọc được.

Tôi đã phải làm điều này với mã XML được lưu trữ trong cơ sở dữ liệu SQL Server , nơi các tiêu đề không được lưu trữ, chỉ là phần thân XML ...


TextFX đã được loại bỏ - từ Tương lai của TextFX : "... chia tay một công việc lâu đời đã phục vụ tốt cho cộng đồng."
Peter Mortensen

2

Vì tôi thấy rất nhiều ý kiến ​​về những người gặp vấn đề với plugin, tôi nghĩ tôi đã đề cập đến công việc xung quanh mà tôi sử dụng.

Tôi chỉ sử dụng một trong những trang web trực tuyến để xem XML (tôi sử dụng https://codebeautify.org/xmlviewer , nhưng có rất nhiều trên mạng) như sau:

  1. Dán nội dung XML trong cửa sổ nhập
  2. Nhấp vào nút "Làm đẹp / Định dạng"
  3. Sao chép đầu ra XML được định dạng từ cửa sổ kết quả
  4. Dán vào Notepad ++

Tôi không biết liệu nó có đủ điều kiện để trả lời chính xác câu hỏi của OP hay không, nhưng nó rất đơn giản và dễ dàng cho bất kỳ ai gặp vấn đề với plugin.


9
Chỉ làm điều này nếu xml của bạn không chứa bất kỳ dữ liệu nhạy cảm / riêng tư nào
Patman

1

UniversalIndentGUI đã thực hiện công việc cho tôi, một khi được cấu hình đúng như mô tả ở trên .

TextFX sẽ không cài đặt và chạy chính xác trên PC cũ Tôi đang chạy Windows XP. Có các hướng dẫn ở trên để cài đặt thủ công các tệp DLL khác nhau, nhưng tôi muốn tránh mọi cài đặt thủ công.

UniversalIndentGUI định dạng một số dòng như thế này:

        <ClockStatus>1
        </ClockStatus>

Và tôi sẽ thích:

        <ClockStatus>1</ClockStatus>

Nhưng đầu ra vẫn tốt hơn nhiều so với một hàng dài!


1

Bạn không thể, nếu bạn không có quyền truy cập để cài đặt plugin. Nhưng bạn có thể có hoặc có thể có được Eclipse (Visual Studio cũng có thể làm điều này).

Ctrl+ N(tệp mới) → (chọn tệp XML) → (dán nội dung XML của bạn) → Ctrl+ Shift+ K(định dạng)

Nếu bạn muốn định dạng JSON NotePad ++ có thể làm điều này theo mặc định với Ctrl+ Alt+m

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.