ToolDeck

เครื่องมือ XML ของ ToolDeck ช่วยให้คุณจัดรูปแบบ ตรวจสอบ ลดขนาด แปลง และค้นหาข้อมูล XML ได้โดยตรงในเบราว์เซอร์ — ไม่ต้องติดตั้งปลั๊กอิน ไม่ต้องอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ จัด XML ที่ยุ่งเหยิงให้อ่านง่ายด้วยตัวจัดรูปแบบ XML ลบช่องว่างสำหรับ production ด้วยตัวลดขนาด XML ตรวจสอบ well-formedness ด้วยตัวตรวจสอบ XML แปลงระหว่าง XML กับ JSON หรือ YAML ด้วยตัวแปลงเฉพาะ และทดสอบนิพจน์ XPath กับเอกสารจริงด้วยเครื่องมือทดสอบ XPath

เริ่มต้นด้วย ตัวจัดรูปแบบ XML สำหรับการจัดระเบียบอย่างรวดเร็ว ใช้ ตัวตรวจสอบ XML เพื่อดักจับข้อผิดพลาดไวยากรณ์ก่อน deploy หรือรัน ตัวแปลง XML เป็น JSON เมื่อต้องการข้อมูลที่มีโครงสร้างสำหรับ web API เครื่องมือทดสอบ XPath ช่วยคุณสร้างและ debug นิพจน์ path โดยไม่ต้องเขียน script เต็มรูปแบบ เครื่องมือทั้งหมดทำงานในเบราว์เซอร์ของคุณทั้งหมด — ไม่มีการอัปโหลดไฟล์ ไม่ต้องสมัครสมาชิก

เครื่องมือ XML คืออะไร?

XML (eXtensible Markup Language) คือมาตรฐาน W3C สำหรับการมาร์กอัปเอกสารที่มีโครงสร้าง กำหนดไว้ในข้อกำหนด XML 1.0 (เผยแพร่ครั้งแรกปี 1998 ฉบับที่ห้าปี 2008) ต่างจาก HTML ตรงที่ XML บังคับใช้กฎ well-formedness ที่เข้มงวด: ทุก opening tag ต้องมี closing tag ที่ตรงกัน ค่า attribute ต้องอยู่ในเครื่องหมายอัญประกาศ และชื่อ element คำนึงถึงตัวพิมพ์เล็กใหญ่ ข้อกำหนดเหล่านี้ทำให้ XML อธิบายตัวเองได้และเครื่องแยกวิเคราะห์ได้ ซึ่งเป็นเหตุผลที่มันยังคงเป็นรากฐานของ SOAP web service, ไฟล์ build ของ Maven/Gradle, Android layout, SVG graphics, XSLT transformation และการกำหนดค่าของระบบอย่าง Spring, Hibernate และ .NET

เครื่องมือ XML ทำให้งานซ้ำซากที่นักพัฒนาต้องเผชิญเมื่อทำงานกับเอกสาร XML เป็นอัตโนมัติ ไม่ว่าจะเป็นการจัดรูปแบบเพื่อความสะดวกในการอ่าน การลดขนาดเพื่อลดขนาดการถ่ายโอน การตรวจสอบตามกฎ well-formedness การแปลงเป็นรูปแบบข้อมูลอื่น และการค้นหา node เฉพาะ หากไม่มีเครื่องมือเหล่านี้ คุณต้องเขียน script เฉพาะกิจด้วย library อย่าง lxml, xml.etree หรือ DOMParser หรือวาง fragment ลงใน text editor แล้วตรวจสอบการซ้อนด้วยตาเปล่า เครื่องมือบนเบราว์เซอร์ขจัด overhead นั้นและให้ผลตอบกลับภาพทันที

คุณต้องการเครื่องมือ XML เมื่อได้รับ SOAP response และต้องการตรวจสอบโครงสร้าง เมื่อต้องการดึงข้อมูลจาก Android layout เป็น JSON สำหรับ build script เมื่อ CI pipeline ปฏิเสธ pom.xml ที่ malformed หรือเมื่อต้องการยืนยันว่าไฟล์ SVG ตรวจสอบผ่านก่อนฝังใน web page ตารางด้านล่างแสดงการจับคู่แต่ละงานกับเครื่องมือที่เหมาะสม

งานเครื่องมือเมื่อใดควรใช้
Pretty-print XMLตัวจัดรูปแบบ XMLอ่าน SOAP response ตรวจสอบ config file debug มาร์กอัปที่ซ้อนกัน
ลดขนาดไฟล์ตัวลดขนาด XMLเตรียม XML payload สำหรับ API ลดขนาดการถ่ายโอนใน CI artifact
ตรวจสอบ well-formednessตัวตรวจสอบ XMLก่อน deploy config หลังแก้ไข XML ด้วยมือ ตรวจสอบผลลัพธ์ที่สร้างโดยโปรแกรม
แปลงเป็น JSONXML เป็น JSONส่งข้อมูล XML เข้าแอป JavaScript, REST API หรือฐานข้อมูล NoSQL
แปลงเป็น YAMLXML เป็น YAMLย้าย Spring XML config ไป YAML แปลงข้อมูลสำหรับ Ansible หรือ Kubernetes
ค้นหา nodeเครื่องมือทดสอบ XPathสร้าง selector สำหรับ scraping debug XSLT ดึง element เฉพาะ

ทำไมต้องใช้เครื่องมือ XML บน ToolDeck?

ToolDeck รันการประมวลผล XML ทั้งหมดในเบราว์เซอร์โดยใช้ DOMParser API และ JavaScript แบบ native ไม่มีการอัปโหลดไฟล์ ไม่มี backend แยกวิเคราะห์ข้อมูลของคุณ และไม่มีการจำกัดอัตราหรือขนาดไฟล์นอกจากหน่วยความจำของเบราว์เซอร์ เครื่องมือทุกตัวทำงานบนเบราว์เซอร์ทันสมัยทุกตัว — ทั้งเดสก์ท็อปและมือถือ — โดยไม่ต้องตั้งค่าใดๆ

🔒
ประมวลผลฝั่ง Client
XML ของคุณไม่เคยออกจาก browser tab สิ่งนี้สำคัญเมื่อคุณทำงานกับ config file ภายใน SOAP response ที่เป็นกรรมสิทธิ์ หรือ XML ที่มีข้อมูลอ่อนไหวอย่าง API key หรือ credential
ผลตอบกลับการตรวจสอบทันที
ตัวตรวจสอบ XML รายงานบรรทัดและคอลัมน์ที่แน่นอนของทุกข้อผิดพลาด well-formedness คุณเห็นปัญหาทันทีแทนที่จะรอขั้นตอน build หรือการ deploy ล้มเหลว
🔄
ครอบคลุมรูปแบบทั้งหมด
แปลง XML เป็น JSON, XML เป็น YAML หรือทดสอบนิพจน์ XPath — ทั้งหมดจากที่เดียว ไม่ต้องสลับระหว่างเว็บไซต์ต่างๆ หรือติดตั้ง CLI tool แยกสำหรับการแปลงแต่ละประเภท
ไม่ต้องสมัครบัญชี
เปิดหน้าและวาง XML ของคุณ ไม่ต้องลงทะเบียน ไม่ต้องมี API key ไม่ต้องติดตั้งส่วนขยาย ผลลัพธ์ปรากฏในไม่กี่มิลลิวินาที และคุณสามารถคัดลอกผลลัพธ์ได้ด้วยคลิกเดียว

กรณีการใช้งานเครื่องมือ XML

XML ปรากฏในทุกชั้นของ stack — ตั้งแต่การกำหนดค่า build ไปจนถึง API payload ไปจนถึงนิยาม UI นี่คือหกสถานการณ์ที่เครื่องมือ XML บนเบราว์เซอร์ช่วยประหยัดเวลาแทนการเขียน script เฉพาะกิจ

การ Debug SOAP API
จัดรูปแบบและตรวจสอบ SOAP XML response จาก legacy web service ตัวจัดรูปแบบ XML แปลง payload บรรทัดเดียวเป็นมาร์กอัปที่มีการย่อหน้าอ่านได้ เพื่อให้คุณติดตามการซ้อน element และการประกาศ namespace ได้
การกำหนดค่า Build
ตรวจสอบ Maven pom.xml หรือ Gradle build file หลังการแก้ไขด้วยมือ แท็กที่ยังไม่ปิดหรือตัวพิมพ์ที่ไม่ตรงกันเพียงตัวเดียวทำให้ build ทั้งหมดล้มเหลว — ตัวตรวจสอบ XML ดักจับสิ่งเหล่านี้ก่อนที่คุณจะ push
การตรวจสอบ Android Layout
จัดรูปแบบ Android XML layout เพื่อตรวจสอบ view hierarchy แปลง layout XML เป็น JSON เมื่อต้องการวิเคราะห์โครงสร้างโดยโปรแกรมหรือส่งไปยัง linting tool
การเพิ่มประสิทธิภาพ SVG
ตรวจสอบไฟล์ SVG สำหรับ well-formedness ก่อนฝังใน HTML ลดขนาดมาร์กอัป SVG เพื่อลดน้ำหนักหน้า — การลบ comment และช่องว่างที่ไม่จำเป็นมักลดขนาดไฟล์ได้ 20-40%
การย้าย Config
แปลง Spring XML configuration เป็น YAML เมื่อย้ายไปยังรูปแบบ application.yml ของ Spring Boot ตัวแปลง XML เป็น YAML จัดการ nested bean, property placeholder และโครงสร้าง list ได้
การดึงข้อมูลด้วย XPath
สร้างและทดสอบนิพจน์ XPath กับเอกสาร XML จริงก่อนฝังใน scraping code, XSLT stylesheet หรือ ETL pipeline เครื่องมือทดสอบ XPath แสดง node ที่ตรงกันทั้งหมดทันที

Quick Reference ไวยากรณ์ XML

กฎ XML well-formedness กำหนดไว้ในข้อกำหนด XML 1.0 ของ W3C ตารางด้านล่างแสดงกฎที่มักทำให้เกิดข้อผิดพลาดในการตรวจสอบบ่อยที่สุด พร้อมตัวอย่างไวยากรณ์ที่ถูกต้องและไม่ถูกต้อง

กฎถูกต้องไม่ถูกต้องหมายเหตุ
ต้องมี closing tag<item>text</item><item>textทุก element ต้องปิดอย่างชัดเจน Self-closing tag ใช้ไวยากรณ์ <br/>
Tag คำนึงถึงตัวพิมพ์เล็กใหญ่<Item>...</Item><Item>...</item>ชื่อ opening tag และ closing tag ต้องตรงกันทุกอักษร รวมถึงตัวพิมพ์เล็กใหญ่
Attribute ต้องอยู่ในเครื่องหมายอัญประกาศ<div id="main"><div id=main>ค่า attribute ต้องห่อด้วยเครื่องหมายอัญประกาศเดี่ยวหรือคู่
การซ้อนที่ถูกต้อง<a><b></b></a><a><b></a></b>Element ต้องปิดตามลำดับย้อนกลับของการเปิด (LIFO)
Root element เดียว<root><a/><b/></root><a/><b/>เอกสาร XML ต้องมี root element เพียงหนึ่งตัวที่ครอบเนื้อหาทั้งหมด
Escape อักขระพิเศษ&lt; &amp; &gt;< & >Entity ที่กำหนดไว้ล่วงหน้าห้าตัว: &lt; &gt; &amp; &apos; &quot; ต้องใช้ในเนื้อหาข้อความ
XML declaration ที่ถูกต้อง<?xml version="1.0"?><?xml?>หากมีอยู่ การประกาศต้องมี attribute version และต้องปรากฏในบรรทัดที่ 1

แหล่งที่มา: W3C XML 1.0 Specification ฉบับที่ห้า (2008) กฎเหล่านี้ใช้กับรูปแบบที่ใช้ XML ทั้งหมด รวมถึง XHTML, SVG, XSLT และ SOAP

วิธีเลือกเครื่องมือ XML ที่เหมาะสม

เครื่องมือ XML แต่ละตัวบน ToolDeck มุ่งเป้าไปที่งานเฉพาะ ใช้รายการการตัดสินใจด้านล่างเพื่อหาเครื่องมือที่เหมาะกับสถานการณ์ของคุณ

  1. 1
    หากคุณต้องการ pretty-print หรือเพิ่มการย่อหน้าให้ XML เพื่อความสะดวกในการอ่านตัวจัดรูปแบบ XML
  2. 2
    หากคุณต้องการ ลดขนาด XML โดยลบช่องว่างและ commentตัวลดขนาด XML
  3. 3
    หากคุณต้องการ ตรวจสอบว่า XML เป็น well-formed ก่อน deployตัวตรวจสอบ XML
  4. 4
    หากคุณต้องการ แปลงข้อมูล XML เป็น JSON object สำหรับ API หรือ JavaScriptตัวแปลง XML เป็น JSON
  5. 5
    หากคุณต้องการ แปลง XML configuration เป็นรูปแบบ YAMLตัวแปลง XML เป็น YAML
  6. 6
    หากคุณต้องการ ค้นหาและดึง node เฉพาะจากเอกสาร XMLเครื่องมือทดสอบ XPath

เครื่องมือทั้งหกรับ XML input เดียวกัน ดังนั้นคุณสามารถจัดรูปแบบก่อนเพื่อให้เอกสารอ่านได้ง่าย ตรวจสอบ แล้วแปลงหรือค้นหาตามต้องการ การคัดลอกและวางระหว่างเครื่องมือทำได้ทันทีเนื่องจากทั้งหมดทำงานใน browser session เดียวกัน

คำถามที่พบบ่อย

ความแตกต่างระหว่าง XML และ HTML คืออะไร?
HTML คือคลังคำศัพท์ element ที่ตายตัว (div, p, span เป็นต้น) กำหนดโดยข้อกำหนด WHATWG และเบราว์เซอร์ยอมรับข้อผิดพลาดไวยากรณ์ — tag ที่ไม่ปิดและ attribute ที่ไม่มีเครื่องหมายอัญประกาศยังถูกยอมรับ XML ให้คุณกำหนดชื่อ element และ attribute ของตัวเองได้ แต่บังคับใช้ well-formedness ที่เข้มงวด: ทุก tag ต้องปิด attribute ต้องอยู่ในเครื่องหมายอัญประกาศ และการซ้อนต้องถูกต้อง XHTML เป็นความพยายามในการนำกฎ XML มาใช้กับ HTML แต่ HTML5 สมัยใหม่ใช้อัลกอริทึมการแยกวิเคราะห์ WHATWG แทน
XML ยังใช้ในการพัฒนาสมัยใหม่อยู่หรือไม่?
ใช่ XML ยังคงเป็นรูปแบบที่จำเป็นสำหรับ SOAP web service, Maven และ Gradle build file, Android layout definition, SVG graphics, XSLT transformation และ enterprise integration (SAML, HL7 FHIR, OOXML) JSON ได้แทนที่ XML สำหรับ REST API และ configuration file ส่วนใหญ่ แต่การรองรับ namespace, schema (XSD) และการรับประกันลำดับเอกสารของ XML ทำให้มันยังคงมีความเกี่ยวข้องในโดเมนที่ต้องการคุณสมบัติเหล่านั้น
"XML ที่ well-formed" หมายความว่าอะไร?
เอกสาร XML ที่ well-formed ปฏิบัติตามกฎไวยากรณ์ที่กำหนดในข้อกำหนด XML 1.0 ของ W3C: มี root element หนึ่งตัว ทุก opening tag มี closing tag ที่ตรงกันในตัวพิมพ์เดียวกัน ค่า attribute อยู่ในเครื่องหมายอัญประกาศ element ซ้อนกันอย่างถูกต้อง และอักขระพิเศษอย่าง < และ & ถูก escape โดยใช้ predefined entity เอกสารอาจเป็น well-formed แต่ไม่ valid กับ schema — well-formedness เกี่ยวกับไวยากรณ์ ส่วน validation เกี่ยวกับโครงสร้าง ตัวตรวจสอบ XML ของ ToolDeck ใช้ DOMParser API แบบ native ของเบราว์เซอร์เพื่อแยกวิเคราะห์เอกสารของคุณและรายงานบรรทัดและคอลัมน์ที่แน่นอนของข้อผิดพลาดไวยากรณ์แรก เพื่อให้คุณไปยังปัญหาได้โดยตรงโดยไม่ต้องสแกนไฟล์ทั้งหมด
จะแปลง XML เป็น JSON ได้อย่างไรโดยไม่สูญเสียข้อมูล?
การแปลง XML เป็น JSON ไม่ใช่ lossless โดยการออกแบบ เพราะทั้งสองรูปแบบมี data model ที่ต่างกัน XML มี attribute, text node, mixed content, namespace และ processing instruction ที่ JSON ไม่รองรับโดยธรรมชาติ แนวทางปฏิบัติทั่วไปได้แก่ Badgerfish และ Parker convention ซึ่งกำหนดวิธีที่ attribute จับคู่กับ JSON key (มักมีคำนำหน้า @) ตัวแปลง XML เป็น JSON บน ToolDeck ใช้การจับคู่มาตรฐานที่ attribute กลายเป็น key ที่มีคำนำหน้า @ และเนื้อหาข้อความกลายเป็น key #text
XPath คืออะไรและควรใช้เมื่อใด?
XPath (XML Path Language) คือภาษา query ของ W3C สำหรับเลือก node จากเอกสาร XML ใช้ path expression คล้ายกับ path ของระบบไฟล์: /catalog/book เลือก element book ทั้งหมดภายใต้ catalog, //title เลือกทุก element title ทุกที่ในเอกสาร และ predicate อย่าง [@lang='en'] กรองตามค่า attribute ใช้ XPath เมื่อต้องการดึงข้อมูลเฉพาะจาก XML ใน XSLT transformation, web scraping (ด้วยเครื่องมืออย่าง lxml หรือ Scrapy) หรือการทดสอบอัตโนมัติ (findElement ของ Selenium รองรับ XPath)
ฉันสามารถตรวจสอบ XML กับ XSD schema ในเบราว์เซอร์ได้หรือไม่?
ตัวตรวจสอบ XML บน ToolDeck ตรวจสอบ well-formedness — ว่าเอกสารปฏิบัติตามกฎไวยากรณ์ XML 1.0 หรือไม่ การตรวจสอบ XSD (XML Schema Definition) เต็มรูปแบบต้องใช้ schema processor ซึ่งไม่มีใน DOMParser แบบ native ของเบราว์เซอร์ สำหรับ XSD validation ใช้ CLI tool อย่าง xmllint (libxml2), Java-based validator (Saxon, Xerces) หรือ IDE plugin การตรวจสอบ well-formedness บนเบราว์เซอร์ยังดักจับข้อผิดพลาดที่พบบ่อยที่สุดได้: tag ที่ไม่ปิด ตัวพิมพ์ที่ไม่ตรงกัน และอักขระที่ไม่ได้ escape
ขนาดไฟล์ XML สูงสุดที่ประมวลผลในเบราว์เซอร์ได้คือเท่าไร?
ToolDeck ไม่ได้กำหนดขีดจำกัดที่แน่นอน ขีดจำกัดในทางปฏิบัติขึ้นอยู่กับหน่วยความจำที่มีของเบราว์เซอร์และความซับซ้อนของเอกสาร Chrome และ Firefox โดยทั่วไปสามารถจัดการไฟล์ XML ขนาดถึง 50-100 MB โดยไม่มีปัญหา สำหรับไฟล์ขนาดใหญ่มาก (หลายร้อย MB หรือมากกว่า) streaming parser อย่าง SAX หรือ StAX ใน Java หรือ iterparse ใน xml.etree ของ Python เหมาะสมกว่า เพราะไม่โหลดเอกสารทั้งหมดเข้าหน่วยความจำพร้อมกัน
XML จัดการ namespace อย่างไร?
XML namespace (กำหนดใน W3C Namespaces in XML 1.0 recommendation) ป้องกันการชนกันของชื่อ element เมื่อรวมเอกสารจาก vocabulary ต่างๆ Namespace ประกาศด้วย attribute xmlns บน element: xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" element ลูกที่มีคำนำหน้า soap: อยู่ใน namespace นั้น URI คือตัวระบุ ไม่ใช่ URL ที่จะถูกดึงข้อมูล Namespace ถูกรักษาไว้ระหว่างการจัดรูปแบบและการแปลง — ตัวจัดรูปแบบ XML เก็บการประกาศ namespace ทั้งหมดไว้อย่างครบถ้วน