วิธีป้องกันแอตทริบิวต์ xmlns ว่างในเอาต์พุตจาก XmlDocument ของ. NET
เมื่อสร้าง XML จาก XmlDocument ใน. NET xmlnsแอตทริบิวต์เปล่าจะปรากฏขึ้นในครั้งแรกที่มีการแทรกองค์ประกอบที่ไม่มีเนมสเปซที่เกี่ยวข้อง จะป้องกันได้อย่างไร? ตัวอย่าง: XmlDocument xml = new XmlDocument(); xml.AppendChild(xml.CreateElement("root", "whatever:name-space-1.0")); xml.DocumentElement.AppendChild(xml.CreateElement("loner")); Console.WriteLine(xml.OuterXml); เอาท์พุท: <root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root> ผลลัพธ์ที่ต้องการ : <root xmlns="whatever:name-space-1.0"><loner /></root> มีวิธีแก้ไขที่ใช้กับXmlDocumentรหัสไม่ใช่สิ่งที่เกิดขึ้นหลังจากการแปลงเอกสารเป็นสตริงด้วยOuterXmlหรือไม่? เหตุผลของฉันในการทำเช่นนี้คือเพื่อดูว่าฉันสามารถจับคู่ XML มาตรฐานของโปรโตคอลเฉพาะโดยใช้ XML ที่สร้างขึ้นด้วย XmlDocument หรือไม่ xmlnsแอตทริบิวต์ว่างต้องไม่ทำลายหรือสร้างความสับสนให้กับโปรแกรมแยกวิเคราะห์ แต่ก็ไม่มีอยู่ในการใช้งานใด ๆ ที่ฉันเคยเห็นของโปรโตคอลนี้