ฉันสงสัยว่ามีวิธีใดบ้างที่จะหลบหนีโทเค็นสิ้นสุด CDATA ( ]]>
) ภายในส่วน CDATA ในเอกสาร xml หรือโดยทั่วไปถ้ามีบาง escape sequences สำหรับใช้ภายใน CDATA (แต่ถ้ามีอยู่ฉันคิดว่ามันคงสมเหตุสมผลที่จะหลีกเลี่ยงโทเค็นเริ่มต้นหรือสิ้นสุดโทเค็น)
โดยพื้นฐานแล้วคุณสามารถมีโทเค็นเริ่มต้นหรือจุดสิ้นสุดที่ฝังอยู่ใน CDATA และบอกให้โปรแกรมแยกวิเคราะห์ไม่ตีความ แต่เพื่อใช้เป็นลำดับอักขระอื่นได้หรือไม่
อาจเป็นไปได้ว่าคุณควรปรับโครงสร้าง xml หรือรหัสของคุณใหม่หากคุณพบว่าตัวเองพยายามทำเช่นนั้น แต่แม้ว่าฉันจะทำงานกับ xml ทุกวันในช่วง 3 ปีที่ผ่านมาและฉันก็ไม่เคยมีปัญหานี้ ฉันสงสัยว่ามันเป็นไปได้ เพิ่งออกมาจากความอยากรู้
แก้ไข:
นอกเหนือจากการใช้การเข้ารหัส html ...
CDATA
ถูกออกแบบมาเพื่อให้ทุกสิ่ง : พวกมันถูกใช้เพื่อหลบหนีบล็อกข้อความที่มีตัวอักษรซึ่งจะถูกจดจำว่าเป็นมาร์กอัปซึ่งมีความหมายCDATA
เช่นกันเนื่องจากเป็นมาร์กอัป แต่ในความเป็นจริงคุณไม่จำเป็นต้องใช้การเข้ารหัสซ้ำซ้อน ]]>
เป็นวิธีที่ยอมรับได้ของการเข้ารหัสภายในCDEnd
CDATA
>
เป็น>
ภายใน CDATA เพื่อให้แน่ใจว่าการฝังตัว]]>
จะไม่สามารถแยกวิเคราะห์เป็น CDEnd มันหมายถึงว่ามันไม่คาดคิดและ&
ต้องเข้ารหัสเป็นครั้งแรกเช่น&
กันเพื่อให้สามารถถอดรหัสข้อมูลได้อย่างถูกต้อง ผู้ใช้เอกสารต้องรู้ว่าต้องถอดรหัส CData นี้ด้วย มันไม่เคยได้ยินมาก่อนเนื่องจากเป็นส่วนหนึ่งของวัตถุประสงค์ของ CData คือมีเนื้อหาที่ผู้บริโภคเฉพาะเข้าใจวิธีการจัดการ CData เช่นนี้ไม่สามารถคาดการณ์ได้ว่าจะถูกตีความอย่างถูกต้องโดยผู้บริโภคทั่วไป