用C#根据内容创建xml元素节点名不乎时规则时的一种很2的写法。

//什么也不说,看代码。。。。
bool GetForumsFromWeb(XmlDocument doc,string path){
XmlElement ele=doc["root"]["chekcList"];
if(ele==null)return false;
ele.RemoveAll();
doc.Save(path);
Dictionary<string, string> dic=eg.GetForums();
string oleStr=string.Empty;
Regex regex0=new Regex("不能包含“(.*?)”字符");
foreach(string s in dic.Keys){
string t=s;
Regex regex=new Regex("^[0-9]+");
if(regex.IsMatch(s))t="_"+s;
L1:
if(oleStr!=string.Empty)
t=t.Replace(oleStr[0],'_');
// t=t.Replace('&','_');
// t=t.Replace('(','_');
// t=t.Replace(')','_');
// t=t.Replace('、','_');
// t=t.Replace(',','_');
// t=t.Replace(';','_');
try{
XmlNode forum=doc.CreateNode(XmlNodeType.Element,t,"");
XmlAttribute ck=doc.CreateAttribute("checked");
ck.Value="Unchecked";
forum.Attributes.Append(ck);
XmlAttribute fid=doc.CreateAttribute("fid");
fid.Value=dic[s];
forum.Attributes.Append(fid);
ele.AppendChild(forum);
doc.Save(path);
}catch(Exception err){
oleStr=regex0.Match(err.Message).Groups[1].Value;
Application.DoEvents();
goto L1;
}
}
return true;
}

你可能感兴趣的:(xml)