我使用此代码使用c#class创建xml文件。
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
XmlNode RootNode = doc.CreateElement("SDF");
doc.AppendChild(RootNode);
XmlAttribute rootAttribute2 = doc.CreateAttribute("Version");
rootAttribute2.Value = "3.0";
RootNode.Attributes.Append(rootAttribute2);
XmlAttribute rootAttribute = doc.CreateAttribute("xmlns:sdf");
rootAttribute.Value = "http://www.w3.org/2001/XMLSchema-instance";
RootNode.Attributes.Append(rootAttribute);
XmlAttribute rootAttribute1 = doc.CreateAttribute("sdf:noNamespaceSchemaLocation");
rootAttribute1.Value = "SDF.xsd";
RootNode.Attributes.Append(rootAttribute1);
输出此代码..
<?xml version="1.0" encoding="UTF-8"?>
<SDF Version="3.0" xmlns:sdf="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="SDF.xsd">
但我希望输出
<?xml version="1.0" encoding="UTF-8"?>
<SDF Version="3.0" xmlns:sdf="http://www.w3.org/2001/XMLSchema-instance" sdf:noNamespaceSchemaLocation="SDF.xsd">
答案 0 :(得分:3)
您需要使用different overload:
XmlAttribute rootAttribute1 =
doc.CreateAttribute("sdf", "noNamespaceSchemaLocation", null);
答案 1 :(得分:1)
使用重载版本CreateAttribute方法。
doc.CreateAttribute("name","namespaceURI")
见下面的detials链接。
http://msdn.microsoft.com/en-us/library/System.Xml.XmlDocument.CreateAttribute%28v=vs.110%29.aspx
答案 2 :(得分:0)
我在谷歌搜索并找到解决我问题的答案
XmlNode RootNode = doc.CreateElement("SDF");
doc.AppendChild(RootNode);
XmlAttribute rootAttribute2 = doc.CreateAttribute("Version");
rootAttribute2.Value = "3.0";
RootNode.Attributes.Append(rootAttribute2);
XmlAttribute newAttr = doc.CreateAttribute("sdf", "noNamespaceSchemaLocation", "http://www.w3.org/2001/XMLSchema-instance");
newAttr.Value = "SDF.xsd";
RootNode.Attributes.Append(newAttr);