XML เป็น C++
วางเอกสาร XML เพื่อสร้างชนิดข้อมูล C++ ที่ตรงกับโครงสร้าง
วิธีใช้ XML เป็น C++
- วางตัวอย่าง XML ที่สะท้อนข้อมูลจริง โดยควรกรอกฟิลด์ที่ไม่บังคับให้ครบด้วย
- ตั้งชื่อชนิดข้อมูลหลัก แล้วเลือกว่าจะให้สร้างโค้ดช่วยด้วยหรือสร้างเฉพาะชนิดข้อมูล
- คัดลอกโค้ด C++ ที่สร้างไปยังโปรเจกต์ของคุณ
เกี่ยวกับ XML เป็น C++
การเขียนคลาสโมเดลสำหรับข้อมูล XML จำนวนมากด้วยตนเองเป็นงานน่าเบื่อ และพิมพ์ผิดได้ง่าย วางตัวอย่างที่นี่ แล้วเครื่องมือจะวิเคราะห์โครงสร้างว่ามีฟิลด์ใดบ้าง ฟิลด์ใดเป็นออบเจ็กต์หรืออาร์เรย์ และแต่ละค่ามีชนิดข้อมูลอะไร ผลลัพธ์เป็นโครงสร้างในเนมสเปซ quicktype พร้อมฟังก์ชัน from_json และ to_json สำหรับไลบรารี nlohmann/json
XML จะถูกแปลงเป็น JSON อย่างเดียวกับในเครื่องมือ XML เป็น JSON ของเรา @_ การตั้งตัวอักษร และเนื้อหาข้อความข้างหน้าคุณสมบัติ #text. ชนิดข้อมูล C++ จะถูกสร้างจากผลลัพธ์นั้น ผลลัพธ์ต้องใช้ไลบรารี nlohmann/json แบบ header เดียว และโค้ดช่วยเล็กน้อยสำหรับค่าที่ไม่บังคับซึ่งรวมไว้ในผลลัพธ์แล้ว
การใช้โค้ดที่สร้างขึ้น
ใส่หัวหน้า nlohmann json แล้ว auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
สมาชิกเลือกใช้ std::shared_ptr<T> และเป็นไร้ค่า เมื่อคีย์หายไป
คำถามที่พบบ่อย
โค้ด C++ ที่สร้างต้องใช้ไลบรารีหรือส่วนประกอบใด?
ผลลัพธ์เป็นโครงสร้างในเนมสเปซ quicktype พร้อมฟังก์ชัน from_json และ to_json สำหรับไลบรารี nlohmann/json
ผมพิจารณา XML กับผลอย่างไร?
เปลี่ยน XML เป็น JSON ก่อน (เครื่องมือของเรา XML เป็น JSON ทําแบบนี้เหมือนกัน) แล้วใส่หัวหน้า nlohmann json แล้ว auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
จัดการฟิลด์ที่ไม่บังคับและฟิลด์ที่ไม่มีอย่างไร?
สมาชิกเลือกใช้ std::shared_ptr<T> และเป็นไร้ค่า เมื่อคีย์หายไป
เครื่องมือดูมากกว่าหนึ่งระเบียนหรือไม่?
เครื่องมือรู้จักเฉพาะข้อมูลที่อยู่ในตัวอย่างของคุณเท่านั้น ฟิลด์ที่ไม่มีในตัวอย่างจะไม่ปรากฏในชนิดข้อมูลที่สร้างขึ้น และถ้าค่าในตัวอย่างเป็น null เครื่องมือจะระบุชนิดข้อมูลของค่านั้นไม่ได้ วางตัวอย่างที่กรอกข้อมูลให้ครบมากที่สุด หรือวางอาร์เรย์ที่มีหลายระเบียนแตกต่างกัน
ข้อมูล XML ของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ เมื่อใช้ครั้งแรก เครื่องมือขนาดประมาณ 1 MB จะถูกดาวน์โหลดเข้าเบราว์เซอร์ จากนั้นทุกอย่างจะทำงานในเครื่องของคุณ