เมื่อสร้าง 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
แอตทริบิวต์ว่างต้องไม่ทำลายหรือสร้างความสับสนให้กับโปรแกรมแยกวิเคราะห์ แต่ก็ไม่มีอยู่ในการใช้งานใด ๆ ที่ฉันเคยเห็นของโปรโตคอลนี้