เครื่องมือการจัดรูปแบบ XML ฟรี [ปิด]


223

มีเครื่องมือการจัดรูปแบบ XML ฟรี (เยื้อง) หรือไม่ที่ฉันสามารถวางสตริง XML และจัดรูปแบบเพื่อให้ฉันสามารถอ่านเอกสาร XML ได้อย่างถูกต้องหรือไม่

ขอบคุณ

แก้ไข ~ ฉันใช้ XML Notepad ใน Windows XP


1
คุณอยู่บนแพลตฟอร์มใด คุณใช้โปรแกรมแก้ไขข้อความอะไรอยู่? โปรแกรมแก้ไขข้อความที่ดีที่สุดส่วนใหญ่จะรองรับสิ่งนี้นอกกรอบหรือมีส่วนเสริม
Jon Skeet

45
ฉันพบสิ่งนี้สร้างสรรค์มาก
JGilmartin

17
ตกลง. จริง ๆ แล้วคำถามนี้เหมาะสมกับคำถามและคำตอบ: มีคำตอบจริง ๆ สำหรับคำถามที่แคบ คำถามนี้ไม่ควรถูกปิด
Ben Collins

4
ฉันก็เห็นด้วย คำตอบสำหรับคำถามนี้ให้ข้อมูลที่เป็นประโยชน์ นอกจากนี้การปิดคำถาม 2 ปีหลังจากถูกถามดูเหมือนว่าค่อนข้างโง่
Bill W

ฟอร์แมตที่ดีที่สุด -> freeformatter.com/xml-formatter.html
AZ_

คำตอบ:


349

ฉันเชื่อว่าNotepad ++มีคุณสมบัตินี้

แก้ไข (สำหรับเวอร์ชั่นที่ใหม่กว่า)
ติดตั้งปลั๊กอิน "เครื่องมือ XML" (เมนูปลั๊กอิน, เครื่องมือจัดการปลั๊กอิน)
จากนั้นเรียกใช้: เมนูปลั๊กอิน, เครื่องมือ XML, พริตตี้พริ้นท์ (XML เท่านั้น - พร้อมตัวแบ่งบรรทัด)

คำตอบเดิม (สำหรับ Notepad ++ รุ่นเก่ากว่า)

เมนู Notepad ++: TextFX -> HTML Tidy -> Tidy: Reindent XML

อย่างไรก็ตามฟีเจอร์นี้ล้อมรอบ XML และทำให้ดูเหมือน 'ไม่สะอาด' ไม่มีห่อ

  • เปิดC:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • ค้นหารายการ[Tidy: Reindent XML]และเพิ่มwrap:0เพื่อให้มีลักษณะเช่นนี้:
[เป็นระเบียบเรียบร้อย: XML ของสารบัญใหม่] 
อินพุต xml: ใช่ 
เยื้อง: ใช่ 
ห่อ: 0 

3
คุณอาจต้องtwu.ca/divisions/technology/sst/orion/blog/...
svrist

3
ฉันยืนยันว่าใช้งานได้โดยไม่มีปลั๊กอิน เพียงดาวน์โหลดเวอร์ชันล่าสุดของ Notepad ++ และมันจะรองรับสิ่งนี้
Michael La Voie

7
เป็นเรื่องตลก (เข้าใจผิด?) ที่ HTMLTidy ถูกอธิบายว่าเป็นคุณสมบัติของ Notepad ++ มันเป็นเครื่องมือแบบสแตนด์อโลน ( tidy.sourceforge.net ) ที่มีความยาวมากกว่า Notepad ++ มากและสามารถใช้ในโปรแกรมแก้ไขข้อความใด ๆ ที่สนับสนุนเครื่องมือภายนอก ฉันใช้มันเป็นเวลานานจากพรอมต์คำสั่งก่อนที่ฉันจะพบ FirstObject XML Editor
Ash

8
คุณลักษณะเยื้อง XML ของ Notepad ++ อย่างไรก็ตามจะล้อมรอบ XML และทำให้ดูไม่สะอาด ฉันชอบวิธีที่ IE ใช้แทน หากต้องการไม่มีการตัดคำว่า "Tidy: Reindent XML" ให้เปิด "C: \ Program Files \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI" ค้นหารายการ "[Tidy: Reindent XML]" และเพิ่ม "wrap: 0 "เพื่อให้มีลักษณะเช่นนี้: [เรียบร้อย: Reindent XML] input-xml: ใช่เยื้อง: ใช่ห่อ: 0 สิ่งนี้ควรให้ XML ที่ไม่ได้ห่อ
Joseph

20
เพียงแค่ FYI เวอร์ชั่นล่าสุดของ Notepad ++ (5.9 ณ เวลาที่เขียน) ไม่รวมถึง TextFX และการทำให้มันใช้งานได้นั้นต้องมีการสร้าง DLL ด้วยตนเอง ในเครื่องมือจัดการปลั๊กอินให้ติดตั้งปลั๊กอินเครื่องมือ XML - ง่ายกว่ามาก
Alex Beardsley

57

เครื่องมือแก้ไข XML ฟรีสำหรับ Firstobject สำหรับ Windows ชื่อ foxeเป็นเครื่องมือที่ยอดเยี่ยม

เปิดหรือวาง XML ของคุณแล้วกด F8 เพื่อเยื้อง (คุณอาจต้องกำหนดจำนวนของการเว้นวรรคเยื้องเนื่องจากอาจเป็น 0)

มันดูเรียบง่าย แต่มันมีตัวแยกวิเคราะห์ XML ที่เขียนขึ้นเองที่เขียนด้วย C ++ ที่ช่วยให้มันทำงานได้อย่างมีประสิทธิภาพกับไฟล์ XML ที่มีขนาดใหญ่มาก ๆได้อย่างง่ายดาย (ไม่เหมือนกับเครื่องมือจารกรรมที่เกี่ยวข้อง

จากหน้าผลิตภัณฑ์:

ซอร์สโค้ดของ Visual C ++ สำหรับตัวแก้ไข XML ตัวแรก (รวมถึงส่วนประกอบ MFC ควบคุมการแก้ไขตัวควบคุมกิกะไบต์ CDataEdit) พร้อมใช้งานเป็นส่วนหนึ่งของ Advanced CMarkup Developer License อนุญาตให้นักพัฒนาใช้ฟังก์ชั่นการจัดการ XML ที่กำหนดเองเช่นการตรวจสอบการแปลงการทำให้สวยงามและการรายงานเพื่อวัตถุประสงค์ของตนเอง


4
ฮ่า "จารกรรม" ราคาแพง ... วันเดียว :)
Saif Khan

1
นั่นเป็นเครื่องมือที่เรียบร้อย เล็กเช่นกัน
Kev

1
มันทำให้หน่วยงานต่าง ๆ มีประโยชน์จริงๆ!
James B

1
นี้ดีกว่าปลั๊กอินเครื่องมือ xml ใน notepad ++
Li Tian Gong

5
ฉันมีไฟล์ขนาด 15MB - Notepad ++ ถูกต่อย 1 คอร์เป็นเวลาหลายนาทีโดยไม่มีผล Visual Studio ก็ทำเช่นเดียวกัน (และทำให้การเคี้ยวหน่วยความจำมากขึ้นและช้าลง Foxe สามารถเปิดและฟอร์แมตได้ทันที - น่าประทับใจ UI คือ plan-jane ทำงานได้ไหม
ไมค์ฮันนี่

52

ใช้สิ่งต่อไปนี้:

xmllint --format


cygwin distro ของฉันมีสิ่งนี้อยู่แล้วดังนั้นฉันเดาว่าฉันไม่จำเป็นต้องดาวน์โหลดไบนารีของ Windows และตัดสินใจว่าฉันควรจะเขียนสคริปต์ทุบตี
vinnyjames

22

คุณสามารถเปิดไฟล์ XML ในผลิตภัณฑ์ Visual Studio Express ใด ๆ และกดCtrl+ A, Ctrl+ K, Ctrl+ Fเพื่อรับการจัดรูปแบบเป็นอย่างดี

เฮ้มันฟรีและเป็นเครื่องมือดังนั้นมันจึงเหมาะกับคำถาม :-)


ฉันเคยทำเช่นนี้: D ฉันมีรุ่น VS ที่เหมาะสม ฉันดีใจที่ได้รู้จักเครื่องมือน้ำหนักเบาที่ดีกว่าตอนนี้!
jamiebarrow

1
ตลอดเวลานี้ฉันได้คัดลอกจาก VS ไปยัง Notepad ++ เพียงเพื่อจัดรูปแบบ xml และฉันก็ทำได้เช่นนั้น! ยิ่งไปกว่านั้นฉันใช้ Ctrl + K Ctrl + F เพื่อจัดรูปแบบโค้ดแล้ว :-) ทำได้ดีนี่.
Lee Oades

1
และยังสามารถลดความซับซ้อนได้เล็กน้อยตั้งแต่ Ctrl + K, Ctrl + D จัดรูปแบบเอกสารทั้งหมดเพื่อให้คุณสามารถข้าม Ctrl + A
Hans Olsson

16

วิธีอื่นในการรวม XML ใน Notepad ++ อีกครั้ง:

จากเมนูเลือกปลั๊กอิน -> เครื่องมือ XML -> พิมพ์สวย (XML เท่านั้น - มีการแบ่งบรรทัด)
หรือกดCtrl+ Alt+ +ShiftB


3
คุณอาจต้องเพิ่มปลั๊กอินก่อนจึงจะทำได้ เพิ่มผ่านตัวจัดการปลั๊กอิน
อดิเรกที่น่ารังเกียจ

แม้จะมีปลั๊กอินนี้, NPP ค่อนข้างช้าลงแม้จะเปิดไฟล์ 20+ MB บนพีซี Core-i5 / 8GB ของฉัน
kmonsoor

5

คุณสามารถลองhttp://xmltoolbox.appspot.com/ซึ่งเป็นฟอร์แมต xml ออนไลน์ คุณเพียงแค่วาง xml ลงในช่องข้อความขนาดใหญ่แล้วกด "format xml" จากนั้นมันก็จะพิมพ์ xml ในพื้นที่ข้อความเพื่อให้ง่ายต่อการอ่านหรือคัดลอก

นอกจากนี้ยังมีคุณสมบัติตัวกรองเล็ก ๆ ที่ช่วยให้คุณเห็นองค์ประกอบทั้งหมด

หวังว่าคุณจะสนุกกับเครื่องมือ


4

หากคุณใช้ Notepad ++ ฉันขอแนะนำให้ติดตั้งปลั๊กอินเครื่องมือ XML คุณสามารถตกแต่งเนื้อหา XML (เยื้องและแบ่งบรรทัด) หรือ linarize มัน นอกจากนี้คุณสามารถ (อัตโนมัติ -) ตรวจสอบไฟล์ของคุณและใช้การแปลง XSL กับมัน

ดาวน์โหลด zip ล่าสุดและคัดลอก DLL ที่ถูกแยกไปยังไดเรกทอรีปลั๊กอินของการติดตั้ง Notepad ++ ของคุณ และดาวน์โหลด libs ภายนอกและคัดลอกไปยังไดเรกทอรี% SystemRoot% \ system32 \ ของคุณ


ที่จริงแล้วคุณจะต้องมี ext_libs เช่นกันมี exe ที่จะทำทุกอย่างให้คุณในแหล่งที่มาของปลอม repo
roundcrisis

3

การจัดรูปแบบทั่วไปขั้นสูง [อัพเดท]

XMLSpectrumเป็นเครื่องมือเน้นข้อความแบบโอเพนซอร์ส รองรับ XML - แต่ด้วยคุณสมบัติพิเศษสำหรับ XSLT 2.0, XSD 1.1 และ XPath 2.0 ฉันกำลังพูดถึงสิ่งนี้ที่นี่เพราะมันมีความสามารถในการจัดรูปแบบพิเศษสำหรับ XML: มันจัดแนวแอตทริบิวต์และเนื้อหารวมทั้งองค์ประกอบต่างๆในแนวตั้งเพื่อเพิ่มความสามารถในการอ่าน XML

HTML เอาต์พุตเหมาะสำหรับการตรวจสอบในเบราว์เซอร์หรือถ้า XML ต้องการแก้ไขเพิ่มเติมสามารถคัดลอกและวางลงใน XML editor ที่คุณต้องการ

เนื่องจากxmlspectrum.xslใช้ตัวแยกวิเคราะห์ข้อความ XML ของตัวเองเนื้อหาทั้งหมดเช่นการอ้างอิงเอนทิตีและส่วน CDATA จะถูกเก็บรักษาไว้ - ในตัวแก้ไข

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

หมายเหตุเกี่ยวกับการใช้งาน: นี่เป็นเพียงแผ่นสไตล์ XSLT 2.0 ดังนั้นคุณจะต้องใส่บรรทัดคำสั่ง (ตัวอย่างที่มีให้) ในสคริปต์ขนาดเล็กเพื่อให้คุณสามารถแปลงแหล่ง XML ได้โดยอัตโนมัติ

การจัดรูปแบบเสมือน

XMLQuireเป็นตัวแก้ไข XML ฟรีที่มีความสามารถในการจัดรูปแบบพิเศษ - ซึ่งจะจัดรูปแบบ XML อย่างถูกต้องรวมถึงแอตทริบิวต์หลายบรรทัดค่าแอตทริบิวต์การเยื้องการตัดคำและแม้แต่ความคิดเห็น XML

การเยื้อง XML ทั้งหมดจะกระทำโดยไม่ต้องแทรกแท็บหรือช่องว่างเพื่อให้แน่ใจว่าความสมบูรณ์ของ XML นั้นได้รับการบำรุงรักษา สำหรับ Windows รุ่นที่ใหม่กว่า XP ไม่จำเป็นต้องติดตั้งไฟล์ขนาด. exe เพียง 3MB

หากคุณต้องการพิมพ์ XML ที่จัดรูปแบบแล้วมีตัวเลือกพิเศษภายในตัวอย่างก่อนพิมพ์เช่นการกำหนดหมายเลขบรรทัดที่ตามหลังการเยื้อง หากคุณต้องการคัดลอก XML ที่จัดรูปแบบไปยังโปรแกรมประมวลผลคำเป็นข้อความสมบูรณ์นั่นก็มีให้เช่นกัน

[การเปิดเผย: ฉันรักษาทั้ง XMLQuire และ XMLSpectrum เป็น 'โครงการบ้าน']


ฉันเพิ่ง blogged เกี่ยวกับเรื่องนี้ที่นี่: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/ …
บรูโน่

1

หากคุณเป็นโปรแกรมเมอร์ไลบรารีการแยกวิเคราะห์ XML จำนวนมากจะช่วยให้คุณแยกวิเคราะห์ XML แล้วส่งออก - และสร้างเอาต์พุตที่พิมพ์ออกมาสวยและเยื้องออกเป็นตัวเลือกผลลัพธ์


1

ลองhttp://prettydiff.com/ อัลกอริทึมคล้ายกับ HTML Tidy แต่สมบูรณ์กว่า โปรแกรมนี้เขียนด้วย JavaScript ดังนั้นคุณไม่จำเป็นต้องติดตั้งอะไรเลย


1

Notepad ++ จะดีถ้าคุณอยู่ใน ANSI เท่านั้น หากคุณทำในสิ่งที่ชอบ "ANSI AS UTF8" ให้ทำความสะอาดเอกสาร: /


1

ไม่ใช่คำตอบโดยตรง แต่ก็ต้องรู้ว่า: หลังจากเยื้องแล้วโปรดตรวจสอบให้แน่ใจว่าตัวแยกวิเคราะห์และแอปพลิเคชันที่จะประมวลผล XML ที่จัดรูปแบบแล้วจะไม่ได้ผลลัพธ์ที่แตกต่างกัน พื้นที่สีขาวมักมีความสำคัญใน XMLและตัวแยกวิเคราะห์ที่สอดคล้องกันจะทำให้เกิดฟองขึ้นกับแอปพลิเคชัน


ตัวอย่างที่ฉาวโฉ่ของช่องว่างอย่างมีนัยสำคัญความหมายที่เกิดขึ้นในWPF โดยเฉพาะ<Run />แท็กที่อยู่ติดกันจะแนะนำพื้นที่ (โดยปกติไม่ต้องการ) ในเอาต์พุตเว้นแต่ว่าแท็กเหล่านั้นจะอยู่ติดกับไฟล์ต้นฉบับXAMLอย่างเคร่งครัด
Glenn Slayden
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.