ฉันกำลังพัฒนาโครงการที่จะอ่านข้อมูลบางอย่างในรูปแบบที่เป็นกรรมสิทธิ์ รวบรวมไว้ในโครงสร้างข้อมูล Groovy ที่รวมเป็นหนึ่งเดียว และเขียนออกมาในรูปแบบ XML เรียบร้อย (หรือ JSON ยังไม่ได้ตัดสินใจ) ฉันเป็นมือใหม่ของ Groovy แต่โปรเจ็กต์ที่เป็นโปรเจ็กต์ Ant build นั้น Groovy ดูเหมือนเป็นวิธีที่ดีที่สุด
จนถึงตอนนี้ ดีมาก ฉันสามารถอ่านข้อมูล สร้างโครงสร้างอะตอมมิก เชื่อมต่อเข้าด้วยกันโดยใช้ตัวดำเนินการ >> และถ่ายโอนข้อมูลเหล่านั้นไปยัง XML ด้วย MarkupBuilder ได้อย่างราบรื่น (ง่ายกว่าวิธีที่ฉันทำใน Java) อย่างไรก็ตาม ตอนนี้ฉันติดอยู่กับจุดที่ฉันต้องแก้ไขโครงสร้างที่รวบรวมไว้เล็กน้อย หรือสำรวจโครงสร้างเหล่านั้นเพื่อเขียนข้อมูลที่รวบรวมไว้
เพื่อแสดงให้เห็น สมมติว่าเรารวบรวมข้อมูลของเราดังนั้นจึงเทียบเท่ากับ:
def inventory = {
car (make: "Subaru", model: "Impreza WRX", year: 2010, color: "Blue") {
feature ("Premium sound")
feature ("Brembo brakes")
bug ("Leaks oil")
bug ("Needs new transmission")
}
car (make: "Jeep", model: "Wrangler", year: 13, awd: true) {
feature ("Soft top")
bug ("Doesn't start")
bug ("Flooded")
}
// blahblahblah
}
และเรากำลังพยายามบรรลุเป้าหมายต่อไปนี้ เช่น:
- ลบรายการ "ข้อบกพร่อง" ทั้งหมด (สมมติว่าเรากำลังเขียนรายการเพื่อเผยแพร่บนเว็บไซต์ของตัวแทนจำหน่ายของเรา) หรือ "คุณสมบัติ" ทั้งหมด (หากเป็นสำหรับทีมซ่อมก่อนการขายของเรา)
- ดูรายการและตรวจสอบให้แน่ใจว่าแอตทริบิวต์ "ปี" ทั้งหมดเป็นตัวเลข 4 หลัก
- เลิกใช้แอตทริบิวต์ "awd" ทั้งหมด โดยย้ายไปที่รายการ "คุณลักษณะ"
ดังนั้นเราจึงได้โครงสร้างดังนี้:
def inventory = {
car (make: "Subaru", model: "Impreza WRX", year: 2010, color: "Blue") {
feature ("Premium sound")
feature ("Brembo brakes")
}
car (make: "Jeep", model: "Wrangler", year: 2013) {
feature ("AWD")
feature ("Soft top")
}
// blahblahblah
}
จริงๆ แล้ว ฉันก็โอเคที่จะผ่านโครงสร้างเดิมโดยสร้างรายการใหม่ (ข้อมูลของฉันไม่ใหญ่มากจนต้องมีการแก้ไขแบบแทนที่) แต่ฉันจะสำรวจโครงสร้างนี้ตั้งแต่แรกได้อย่างไร
โอ้และคำถามเกี่ยวกับคำศัพท์ บางทีฉันแค่ค้นหาคีย์เวิร์ดผิดใน Google... เอนทิตีนี้ตามที่กำหนดไว้ในโค้ด: มันถูกเรียกว่า "การปิด" ด้วยหรือมีคำอื่นสำหรับมันหรือไม่