jsonecho

XML เป็น Rust

วางเอกสาร XML เพื่อสร้างชนิดข้อมูล Rust ที่ตรงกับโครงสร้าง

กำลังโหลดเครื่องมือ...

วิธีใช้ XML เป็น Rust

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

เกี่ยวกับ XML เป็น Rust

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

XML จะถูกแปลงเป็น JSON อย่างเดียวกับในเครื่องมือ XML เป็น JSON ของเรา @_ การตั้งตัวอักษร และเนื้อหาข้อความข้างหน้าคุณสมบัติ #text. ชนิดข้อมูล Rust จะถูกสร้างจากผลลัพธ์นั้น ชื่อฟิลด์จะถูกแปลงเป็น snake_case และใส่แอตทริบิวต์ rename ของ serde เมื่อชื่อต่างจากต้นฉบับ

การใช้โค้ดที่สร้างขึ้น

เพิ่ม serde และ serde_json ไปยัง Cargo.toml แล้วโทร serde_json::from_str::<Root>(&json).

สาขาทางเลือกคือ Option<T>. ทั้งค่า null และคีย์ที่ไม่มีจะกลายเป็น None

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

โค้ด Rust ที่สร้างต้องใช้ไลบรารีหรือส่วนประกอบใด?

ผลลัพธ์เป็นโครงสร้างที่ใช้ Serialize และ Deserialize จาก crate serde

ผมพิจารณา XML กับผลอย่างไร?

เปลี่ยน XML เป็น JSON ก่อน (เครื่องมือของเรา XML เป็น JSON ทําแบบนี้เหมือนกัน) จากนั้นเพิ่ม serde และ serde_json ไปยัง Cargo.toml แล้วเรียก serde_json::from_str::<Root>(&json).

จัดการฟิลด์ที่ไม่บังคับและฟิลด์ที่ไม่มีอย่างไร?

สาขาทางเลือกคือ Option<T>. ทั้งค่า null และคีย์ที่ไม่มีจะกลายเป็น None

เครื่องมือดูมากกว่าหนึ่งระเบียนหรือไม่?

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

ข้อมูล XML ของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

ไม่ เมื่อใช้ครั้งแรก เครื่องมือขนาดประมาณ 1 MB จะถูกดาวน์โหลดเข้าเบราว์เซอร์ จากนั้นทุกอย่างจะทำงานในเครื่องของคุณ

เครื่องมือเพิ่มเติมใน แปลงข้อมูลเป็นคลาส

เครื่องมือทั้งหมด →