ฉันจะจัดรูปแบบ XML ใน Notepad ++ ได้อย่างไร


1739

ฉันมีNotepad ++และฉันได้รับโค้ด XML ซึ่งมีความยาวมาก เมื่อฉันวางมันใน Notepad ++ มีโค้ดยาว ๆ (ยากต่อการอ่านและทำงานด้วย)

ฉันต้องการทราบว่ามีวิธีง่ายๆในการทำให้ข้อความที่อ่านได้ (โดยอ่านได้ฉันหมายถึงรหัสแท็บอย่างถูกต้อง)

ฉันสามารถทำได้ด้วยตนเอง แต่ฉันต้องการวิธีแก้ปัญหาแบบถาวรเนื่องจากฉันเผชิญกับปัญหานี้หลายครั้ง ฉันแน่ใจว่ามีวิธีที่จะทำเช่นนี้เพราะฉันได้ทำไปแล้วเมื่อสองสามปีก่อนอาจเป็นVisual Studioหรือบรรณาธิการอื่น ๆ ฉันจำไม่ได้

แต่ Notepad ++ สามารถทำได้หรือไม่


3
การกำหนดค่า XMLTools เป็นเรื่องยุ่งยากเล็กน้อยกับรุ่นล่าสุด ใน Windows 10, Notepad ++ เวอร์ชัน V6.6.8 ฉันได้กำหนดค่า XMLTools 2.4.7 สำเร็จแล้ว ดาวน์โหลดปลั๊กอินล่าสุดจากนี้การเชื่อมโยงและปฏิบัติตามคำแนะนำใน install.txt> และnotepad-plus-plus.org/community/topic/125/...
S.Roshanth

1
โซลูชันปัจจุบันสำหรับรุ่น 64 บิต: superuser.com/q/1239935/333622
Raidri รองรับ Monica

คำตอบ:


2437

ลองใช้ปลั๊กอิน -> เครื่องมือ XML -> พริตตี้พริ้นต์ (libXML) หรือ (XML เท่านั้น - โดยมีตัวแบ่งบรรทัดCtrl+ Alt+ Shift+ B)

คุณอาจต้องติดตั้งเครื่องมือ XML โดยใช้ตัวจัดการปลั๊กอินเพื่อรับตัวเลือกนี้ในเมนูของคุณ

จากประสบการณ์ของฉัน libXML ให้ผลลัพธ์ที่ดี แต่ถ้าไฟล์ถูกสร้างขึ้นอย่างถูกต้อง 100%


635
หากคุณไม่พบเครื่องมือ XML ภายใต้ปลั๊กอินให้ติดตั้งจากปลั๊กอิน> ตัวจัดการปลั๊กอิน> แสดงตัวจัดการปลั๊กอิน
ala

30
หากคุณได้รับข้อผิดพลาด "ตรวจพบข้อผิดพลาดในเนื้อหา" เมื่อพยายามใช้ปลั๊กอินนี้ให้ลองใช้เครื่องมือ XML -> ตรวจสอบไวยากรณ์ XML ทันที ฉันมีปัญหาเมื่อมีการระบุการเข้ารหัสเป็น UTF-16 แต่จริงๆแล้วเป็น UTF-8 การเปลี่ยนแอตทริบิวต์การเข้ารหัสในไฟล์ XML ช่วยแก้ไขปัญหา
Mirza Dobric

153
และหากโปรแกรมจัดการปลั๊กอินของคุณไม่สามารถหาเครื่องมือ XML ได้เพราะคุณอยู่หลังพร็อกซีในที่ทำงานให้ดาวน์โหลดจากที่นี่sourceforge.net/projects/npp-plugins/files/XML%20Toolsจากนั้นคัดลอก XMLTools.dll ไปยังไดเรกทอรีปลั๊กอินและ ที่เหลือในสี่ Dll ไปยังไดเรกทอรี Notepad ++ รูท
Amit Naidu

15
โฆษณาหากคุณไม่เห็นปลั๊กอินใด ๆ ให้ไปที่ "อัปเดต" และอัปเดตผู้จัดการปลั๊กอิน
Surasin Tancharoen

37
... และหากคุณไม่มีปลั๊กอินตัวจัดการปลั๊กอินคุณสามารถรับได้จากที่นี่: github.com/bruderstein/nppPluginManager/releases
Zbigniew Wiadro

111

คุณจำเป็นต้องติดตั้งเครื่องมือ XML จากปลั๊กอินรายการเมนู→ ผู้จัดการปลั๊กอินแสดงผู้จัดการปลั๊กอินและตรวจสอบเครื่องมือ XML ติดตั้งมันแล้วCtrl+ Alt+ Shift+ Bหรือตัวเลือกสำหรับเครื่องมือ XML ข้างต้นแสดงให้เห็นถึง


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

ป้อนคำอธิบายรูปภาพที่นี่


2
คำตอบที่ดี แต่ฉันไม่มี "ตัวจัดการปลั๊กอิน" o_O ใครช่วยได้บ้าง มันถูกลบออกในขณะเดียวกัน?
fl0w

ใช้งานได้สำหรับฉัน .. สำหรับเวอร์ชันใหม่ของ notepad ++ ให้ผู้ดูแลระบบปลั๊กอินแทนตัวจัดการปลั๊กอิน
Jayani Sumudini

42

ลอง TextFX → TextFX Html Tidy → Tidy: reindent XML

หากคุณไม่สามารถลองใช้ Eclipse ให้ทำปุ่มขวาแหล่งที่มาและเยื้องที่ถูกต้อง


2
ขอบคุณสำหรับคำตอบ แต่ฉันไม่สามารถหา Tidy: reindent XML ในเมนู TextFX Html Tidy ของฉันได้ คุณบอกฉันได้ไหมว่าฉันพลาดอะไรไป?
happyhardik

3
หากคุณไม่มีตัวเลือก "TextFX" ทั่วโลกคุณต้องติดตั้งปลั๊กอินชื่อ TextFX แต่นั่นยังไม่เพียงพอเห็นได้ชัดว่าเวอร์ชั่น 6.x นั้นหายไปจากการดาวน์โหลด libtidy.dll ดังนั้นคุณต้องผ่านการวนรอบเพื่อให้ได้มา จากนั้นคุณจะมีตัวเลือก Tidy: reindent XML (ฉันเข้าใจ)
rogerdpack

1
ฉันมีตัวเลือกดังกล่าว แต่ไม่ได้ทำอะไรเลย (และไม่มีข้อความแสดงข้อผิดพลาด)
Danubian Sailor

สำหรับคนอื่น ๆ ที่สงสัยว่าห่วงที่กล่าวถึง @rogerdpack จะกล่าวถึงที่นี่
Steve Chambers

1
ปัญหาหลักที่ฉันมีกับ TidyXML ก็คือมันช้าอย่างน่ารำคาญสำหรับไฟล์ใด ๆ ในช่วงหนึ่งหรือสองชั่วโมง
TS

33

ปลั๊กอิน -> เครื่องมือ XML -> Pretty Print (libXML) หรือ Ctrl+ Alt+ Shift+B

คุณอาจต้องติดตั้งปลั๊กอิน:

ปลั๊กอิน> โปรแกรมจัดการปลั๊กอิน> แสดงโปรแกรมจัดการปลั๊กอิน

ถ้าคุณอยู่หลังพร็อกซี่ดาวน์โหลดได้จากที่นี่

จากนั้นคัดลอกXMLTools.dllไปยังไดเรกทอรีปลั๊กอินและไลบรารีภายนอก (สี่ DLLs) ลงในไดเรกทอรีราก Notepad ++


19

นี่คือปลั๊กอินส่วนใหญ่ที่คุณสามารถใช้ใน Notepad ++ เพื่อจัดรูปแบบโค้ด XML ของคุณ

  • UniversalIndentGUI
    (ฉันแนะนำอันนี้)

เปิดใช้งาน 'การอัปเดตข้อความอัตโนมัติ' ในตัวจัดการปลั๊กอิน ->
ปุ่มลัดUniversalIndentGUI = CTRL+ ALT+ SHIFT+J

  • TextFX
    (นี่คือเครื่องมือที่ผู้ใช้ส่วนใหญ่ใช้)

ปุ่มลัด = CTRL+ ALT+ SHIFT+B

  • เครื่องมือ XML
    (ปลั๊กอินที่กำหนดเองสำหรับ XML)

ปุ่มลัด = CTRL+ ALT+ SHIFT+B


1
เมื่อฉันใช้ UniversalIndentGUI เพื่อเยื้องบรรทัดใหญ่ XML หนึ่งรายการจะไม่ทำงาน ฉันไม่มีการเปลี่ยนแปลง
Alex

1
ฉันตรวจสอบอีกครั้งและมันไม่ทำงานหลังจากติดตั้งปลั๊กอิน คุณต้องแก้ไขการตั้งค่าของปลั๊กอินไปที่ตัวเลือก XML Indent และตรวจสอบตัวเลือก Force newline ตอนนี้มันใช้งานได้ ขอบคุณสำหรับเคล็ดลับเพราะจะช่วยให้สำหรับ XML ไม่ถูกต้อง 100% :)
อเล็กซ์

UniversalIndentGUI ทำงานให้ฉันเมื่อตัวเลือกอื่นล้มเหลวไม่แน่ใจว่าทำไมยกเว้นไฟล์ XML ที่ฉันกำหนดไว้ล่วงหน้าคือ 40MB บวก มันก็เร็วมาก Props ถึง Alex สำหรับเคล็ดลับตัวเลือกบรรทัดใหม่ของการบังคับ XML
Branstar

TextFX ได้ถูกเลิกใช้แล้ว - จากอนาคตของ TextFX : "... กล่าวคำอำลากับผู้ที่มีอายุมากซึ่งให้บริการชุมชนได้เป็นอย่างดี"
Peter Mortensen

15

คำตอบก่อนหน้านี้ทั้งหมดไม่ได้กำหนดวิธีการเพิ่มตัวจัดการปลั๊กอินในการติดตั้ง Notepad ++ ของคุณ

นี่สำหรับคนที่ไม่เห็นตัวจัดการปลั๊กอินในแท็บปลั๊กอิน

ดาวน์โหลดผู้จัดการปลั๊กอินจากลิงค์นี้ - นี้เป็นผู้จัดการปลั๊กอิน 64 บิต เมื่อคุณดาวน์โหลดตัวจัดการปลั๊กอินให้วางในโฟลเดอร์ปลั๊กอิน นี่คือตำแหน่งของฉันในโฟลเดอร์ปลั๊กอิน:C:\Program Files\Notepad++\plugins

ป้อนคำอธิบายภาพที่นี่

หลังจากวางไฟล์. dll จะรีสตาร์ท Notepad ++ ตอนนี้คุณสามารถติดตั้งปลั๊กอินใด ๆ หากต้องการติดตั้งปลั๊กอินให้คลิกที่แท็บปลั๊กอินจากนั้นไปที่ตัวจัดการปลั๊กอินและเลือกปลั๊กอินตามที่คุณต้องการ


14

เพื่อผลลัพธ์ที่ดีที่สุดคุณควรใช้ทั้ง TextFX XML เป็นระเบียบและเครื่องมือ XML ที่สวยพิมพ์ นี่คือวิธีและเหตุผล:

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

TextFX มีข้อดีของการพันยาวบรรทัดซึ่งเครื่องมือ XML ไม่ได้ทำ แต่จะไม่เยื้องบรรทัดใหม่เหล่านั้นอย่างถูกต้อง

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

เครื่องมือ XML เติมเต็ม TextFX โดยการเยื้องบรรทัดใหม่


ฉันกำลังพยายามเปรียบเทียบไฟล์กำหนดค่าสภาพแวดล้อมที่แตกต่างกัน 2 ไฟล์ ... ที่มีการตั้งค่าที่แตกต่างกัน 10 รายการ ... แต่แอตทริบิวต์ xml อยู่บนบรรทัดเดียวในไฟล์เดียว การทำทั้งสองอย่างนี้ต่างกันจริงหรือไม่ที่ความแตกต่างที่แท้จริงปรากฏขึ้นในเครื่องมือเปรียบเทียบไฟล์ ขอบคุณ
granadaCoder

1
TextFX ได้ถูกเลิกใช้แล้ว - จากอนาคตของ TextFX : "... กล่าวคำอำลากับผู้ที่มีอายุมากซึ่งให้บริการชุมชนได้เป็นอย่างดี"
Peter Mortensen

9

หากคุณได้รับข้อผิดพลาดนี้:

ข้อผิดพลาด Notepad ++: ไม่สามารถโหลดปลั๊กอิน 32 บิต

ไม่สามารถโหลดปลั๊กอิน 32- บิต XMLTools.dll เข้ากันไม่ได้กับ Notepad ++ รุ่นปัจจุบัน

ที่นี่คุณสามารถค้นหารุ่นที่ใช้งานได้สำหรับ Windows 10 x64: Xml Tools 2.4.9.2 Unicode

หมายเหตุ: มันเป็นรุ่นเดียวที่ฉันพบว่าทำงานได้กับ Windows 10 Professional x64


7

ตกลงนี่เป็นวิธีที่ฉันทำใน Notepad ++:

  • ปลั๊กอิน
  • ผู้จัดการปลั๊กอิน
  • แสดงเครื่องมือจัดการปลั๊กอิน
  • ตรวจสอบเครื่องมือ XML
  • ติดตั้ง
  • รีสตาร์ท Notepad ++
  • เปิดไฟล์ XML
  • ปลั๊กอิน
  • เครื่องมือ XML
  • พิมพ์สวย (XML เท่านั้น - มีตัวแบ่งบรรทัด)

5

คุณสามารถดูรายละเอียดได้ที่นี่การจัดรูปแบบ XML อย่างรวดเร็วโดยใช้ Pretty Print (libXML)

การติดตั้งเครื่องมือ XML

หากคุณเรียกใช้ Notepad ++ และดูในเมนูปลั๊กอินคุณจะเห็นว่าไม่มีเครื่องมือ XML:

  1. ดาวน์โหลดเครื่องมือ XML จากที่นี่

  2. แตกไฟล์และคัดลอก XMLTools.dll ไปยังโฟลเดอร์ปลั๊กอิน Notepad ++ (ในตัวอย่างด้านบน: ไฟล์ C: \ Program (x86) \ Notepad ++ \ plugins):

  3. เริ่ม Notepad ใหม่อีกครั้งและคุณควรเห็น XMLTools ปรากฏขึ้นในเมนูปลั๊กอิน

  4. Unzip ไฟล์ ext_libs.zip จากนั้นคัดลอก DLL ที่คลายซิปไปยังไดเรกทอรีการติดตั้ง Notepad ++ (ในตัวอย่างด้านบน: ไฟล์ C: \ Program (x86) \ Notepad ++)

  5. เริ่ม Notepad ใหม่อีกครั้งและในที่สุดคุณจะเห็นเมนูเครื่องมือ XML ที่เหมาะสม

  6. คุณสมบัติที่ฉันใช้บ่อยที่สุดคือ“ พิมพ์สวย (XML เท่านั้น - โดยมีตัวแบ่งบรรทัด)” สิ่งนี้จะจัดรูปแบบส่วนใดก็ได้ของ XML ด้วยระยะห่างบรรทัดที่เหมาะสมทั้งหมด


4

Notepad ++ v6.6.3 กับปลั๊กอิน "เครื่องมือ XML" และทางลัดCtrl+ Alt+ Shift+ Bทำงานได้ดี


3

ไม่มีสิ่งเช่น TextFX ใน Notepad ++ ไม่ใช่เวอร์ชันล่าสุดอย่างน้อย นี่คือหนึ่งในเหตุผลที่ฉันยังคงอยู่กับDreamWeaverแม้ว่ามันจะทำให้ฉันเสียสติช้าและไม่ตอบสนองเป็นครั้งคราว ...


ใช่สิ่งต่าง ๆ มีการเปลี่ยนแปลงมากมายในเวอร์ชั่นใหม่ แต่ฉันก็ยังไม่สามารถแก้ไขมันได้!
happyhardik

4
สำหรับเวอร์ชัน 5.9.x ให้ไปที่ปลั๊กอิน -> ตัวจัดการปลั๊กอิน -> แสดงตัวจัดการปลั๊กอินและคุณสามารถเพิ่มได้จากที่นี่
Ralph Willgoss

1
ความสามารถในการเพิ่มหรือไม่เพิ่มคุณสมบัติบางอย่างอาจเป็นเรื่องแปลกในตอนแรก แต่นั่นเป็นเหตุผลว่าทำไมผู้คนจำนวนมากใช้ Notepad ++ สำหรับผลิตภัณฑ์ที่มีขนาดใหญ่อย่าง DreamWeaver! คุณตัดสินใจว่าโปรแกรมของคุณผอมหรืออ้วนแทนที่จะมีอ่างครัวโหลดทุกวันทุกวัน ... (และนี่ควรเป็นความคิดเห็นมากกว่าคำตอบที่ส่ง)
BillyNair

3

เวอร์ชันล่าสุดของ Notepad ++ x64 v7.6.2 บน Windows 10 ได้ย้ายตัวจัดการปลั๊กอินไปที่ 'Plugins Admin' แล้ว

Notepad ++ เวอร์ชันเก่าและตัวจัดการปลั๊กอินไม่ทำงาน


2

"แต่ Notepad ++ สามารถทำได้หรือไม่"

หาก XML ไม่ถูกต้องคำตอบคือ "ไม่" ฉันลอง Notepad ++ ด้วยปลั๊กอิน Tidy2 และ XMLTools ทั้งสองมีข้อผิดพลาดคล้ายกับ "พบข้อผิดพลาดโปรดแก้ไข" หากคุณไม่สนใจข้อผิดพลาดนั่นเป็น PITA

ให้เปิดไฟล์นั้นใน visual studio จากนั้นแก้ไข -> advanced -> format format รวดเร็วและสวย


1
XMLTools จะบ่นหากไม่มีองค์ประกอบราก หาก XML ของคุณถูกต้องคุณสามารถแก้ไขได้โดยเพิ่มสิ่งที่ชอบ<root>/ </root>ที่ด้านบน / ล่าง
John Fouhy

2

หาก XML ของคุณไม่สมบูรณ์ให้ลองด้วยปลั๊กอินตัวอักษร TextFX (ติดตั้งจากตัวจัดการปลั๊กอิน):

ก่อนอื่นค้นหา ">" เพื่อคัดลอกลงในคลิปบอร์ด จากนั้นเลือกข้อความทั้งหมดของคุณแล้วเลือก ...

ในเมนูหลัก: TextFX -> TextFX Edit -> Solit lines ที่คลิปบอร์ดถ่าน ...

สิ่งนี้จะทำงานที่สมเหตุสมผลไม่สมบูรณ์แบบ แต่สิ่งต่างๆจะอ่านได้อย่างน้อย

ฉันต้องทำเช่นนี้ด้วยรหัส XML ที่เก็บไว้ในฐานข้อมูลSQL Serverซึ่งไม่ได้จัดเก็บส่วนหัวไว้เพียงส่วนเนื้อหา XML ...


TextFX ได้ถูกเลิกใช้แล้ว - จากอนาคตของ TextFX : "... กล่าวคำอำลากับผู้ที่มีอายุมากซึ่งให้บริการชุมชนได้เป็นอย่างดี"
Peter Mortensen

2

เนื่องจากฉันเห็นความคิดเห็นมากมายเกี่ยวกับผู้ที่มีปัญหากับปลั๊กอินฉันคิดว่าฉันจะพูดถึงสิ่งที่ฉันใช้

ฉันเพิ่งใช้หนึ่งในเว็บไซต์ออนไลน์สำหรับการดู XML (ฉันใช้https://codebeautify.org/xmlviewerแต่มีอยู่มากมายที่นั่น) ดังนี้:

  1. วางเนื้อหา XML ในหน้าต่างป้อนข้อมูล
  2. คลิกปุ่ม "บรรเจิด / จัดรูปแบบ"
  3. คัดลอกเอาต์พุต XML ที่จัดรูปแบบจากหน้าต่างผลลัพธ์
  4. วางใน Notepad ++

ฉันไม่รู้ว่ามันมีคุณสมบัติเป็นการตอบคำถามของ OP แน่นอนหรือไม่ แต่มันง่ายมากสำหรับทุกคนที่มีปัญหากับปลั๊กอิน


9
ทำเช่นนี้ก็ XML ของคุณไม่ได้มีข้อมูลที่สำคัญ / ส่วนตัวใด ๆ
Patman

1

UniversalIndentGUIได้งานสำหรับฉันที่ครั้งหนึ่งเคยมีการกำหนดค่าอย่างถูกต้องตามที่อธิบายไว้ข้างต้น

TextFXจะไม่ติดตั้งและทำงานอย่างถูกต้องบนพีซีเครื่องเก่าที่ฉันใช้ Windows XP มีคำแนะนำข้างต้นสำหรับการติดตั้งไฟล์ DLL ต่างๆด้วยตนเอง แต่ฉันควรหลีกเลี่ยงการติดตั้งด้วยตนเอง

UniversalIndentGUIจัดรูปแบบบางบรรทัดเช่นนี้:

        <ClockStatus>1
        </ClockStatus>

และฉันต้องการ:

        <ClockStatus>1</ClockStatus>

แต่ผลลัพธ์ยังดีกว่าเส้นยาวหนึ่งเส้นมาก!


1

คุณทำไม่ได้คุณไม่ได้รับอนุญาตให้ติดตั้งปลั๊กอิน แต่คุณอาจมีหรือสามารถรับ Eclipse ได้ (Visual Studio ก็สามารถทำได้เช่นกัน)

Ctrl+ N(ไฟล์ใหม่) → (เลือกไฟล์ XML) → (วางเนื้อหา XML ของคุณ) → Ctrl+ Shift+ K(รูปแบบ)

หากคุณต้องการจัดรูปแบบ JSON NotePad ++ สามารถทำได้โดยเริ่มต้นด้วยCtrl+ Alt+m

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.