以下是我的尝试: 创建元素:
XmlNode xHeader = xDoc.CreateElement("Customer");
XmlNode xCustomerID = xDoc.CreateElement("Customer_ID", strListName);
XmlNode xName = xDoc.CreateElement("Full_Name");
XmlNode xEmail = xDoc.CreateElement("Email");
XmlNode xHomeAddress = xDoc.CreateElement("Home_Address");
XmlNode xMobileNumber = xDoc.CreateElement("Mobile_Number");
将节点附加到文档。
xDoc.DocumentElement.AppendChild(xHeader);
xHeader.AppendChild(xCustomerID);
xCustomerID.AppendChild(xEmail);
xCustomerID.AppendChild(xHomeAddress);
xCustomerID.AppendChild(xMobileNumber);
这是XML中生成的内容。 http://pastebin.com/dNs8Ueiw 我希望Customer_ID的子节点中没有xmlns =“”。
答案 0 :(得分:2)
如果您想要XML:
<Customer_ID xmlns="a">
<Email>
</Email>
<Home_Address>
</Home_Address>
<Mobile_Number>
</Mobile_Number>
</Customer_ID>
...然后您需要确保您的Email
,Home_Address
和Mobile_Number
元素与Customer_ID
元素位于同一名称空间中:
XmlNode xCustomerID = xDoc.CreateElement("Customer_ID", strListName);
XmlNode xEmail = xDoc.CreateElement("Email", strListName);
XmlNode xHomeAddress = xDoc.CreateElement("Home_Address", strListName);
XmlNode xMobileNumber = xDoc.CreateElement("Mobile_Number", strListName);
基本上你看到命名空间默认的结果 - 除非为一个元素指定了xmlns=...
,否则它会继承其父级的命名空间。
(另请注意,如果可以,您应该使用LINQ to XML - 它是一个更令人愉快的XML API,具有更好的命名空间处理。)