你看看这个 拷贝代码 运行 就能生成你需要的xml文件了
//首先创建 XmlDocument xml文档
XmlDocument xml = new XmlDocument();
//创建根节点 config
XmlElement config = xml.CreateElement("Config");
//把根节点加到xml文档中
xml.AppendChild(config);
//创建一个节点 path(用于做子节点)
XmlElement path = xml.CreateElement("Path");
//path节点中的文本内容为 E:\Test\ @用于转义后面的'\'
path.InnerText = @"E:\Test\";
//将path添加为config的子节点
config.AppendChild(path);
//以下Regex同理
XmlElement regex = xml.CreateElement("Regex");
regex.InnerText = "<![CDDATA[@^abc$]]>";
config.AppendChild(regex);
XmlElement ini = xml.CreateElement("ini");
//所以我们需要创建 ini标签里的xml属性 属性名为timeout
XmlAttribute timeout = xml.CreateAttribute("timeout");
//timeout属性的内容为200
timeout.InnerText = "200";
//标签ini里的文档内容为 time
ini.InnerText = "time";
//创建完标签的属性timeout 后需要将其添加到ini标签的属性里
ini.Attributes.Append(timeout);
//最后将ini标签添加到config 父节点里
config.AppendChild(ini);
//最后将整个xml文件保存在D盘
xml.Save(@"D:\abc.xml");
运行效果
<Config>
<Path>E:\Test\</Path>
<Regex><![CDDATA[@^abc$]]></Regex>
<ini timeout="200">time</ini>
</Config>
很有心,谢谢!
好巧,下面这段代码创建的xml和你写的一模一样。
XmlDocument doc = new XmlDocument();
XmlElement ConfigNode = (XmlElement)doc.CreateElement("Config");
doc.AppendChild(ConfigNode);
XmlElement PathNode = (XmlElement)doc.CreateElement("Path");
PathNode.InnerText=@"E:\Test\";
ConfigNode.AppendChild(PathNode);
XmlElement RegexNode = (XmlElement)doc.CreateElement("Regex");
XmlCDataSection cdata = doc.CreateCDataSection("@^abc$");
RegexNode.AppendChild(cdata);
//RegexNode.InnerXml = @"[CDDATA[@^abc$]]";
ConfigNode.AppendChild(RegexNode);
XmlElement iniNode = (XmlElement)doc.CreateElement("ini");
iniNode.InnerText = @"time";
ConfigNode.AppendChild(iniNode);
XmlAttribute timeout = (XmlAttribute) doc.CreateAttribute("timeout");
timeout.InnerText = "200";
iniNode.Attributes.Append(timeout);
doc.Save("c:\\a.xml");
非常感谢,你的代码也很不错,但只能选择一个,谢谢你!