下面的代碼片段返回XML文檔上飛修改XML
public XmlDocument GetXMLFile(int ID)
{
List<UserInfoBE> data = GetById(ID);
DataSet ds = ConvertGenericsListToDataSet(data);
XmlDocument XmlDoc = new XmlDocument();
XmlDocument doc = GenerateXMLDeclaration(XmlDoc);//Create xml Declaration
doc = AddTableTag(doc);//Create parent node USERDATA
foreach (DataRow dr in ds.Tables[0].Rows)
{
doc = AddUserinfoTag(doc, dr[8].ToString(), Convert.ToInt32(dr[31].ToString()), Convert.ToString(dr[32].ToString()), dr[3].ToString());
}
doc = SetHeirarchyLevel(doc);
string _errorFile = AppDomain.CurrentDomain.BaseDirectory + "XML\\";
System.IO.Directory.CreateDirectory(_errorFile);
_errorFile += "FIle" + DateTime.Now.ToString("dd-MM-yyyy") + ".xml";
XmlNodeList nodes = doc.SelectNodes("USERDATA/Userinfo");
XmlDocument newXMLDoc = new XmlDocument();
XmlDocument newDoc = GenerateXMLDeclaration(newXMLDoc);
newDoc.AppendChild(nodes);
doc.Save(_errorFile);
return doc;
}
XML文件格式:
<?xml version="1.0"?>
<USERDATA>
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo/>
<Userinfo>
<Userinfo/>
</Userinfo>
</Userinfo>
<Userinfo>
<Userinfo/>
<Userinfo/>
</Userinfo>
</Userinfo>
</Userinfo>
</Userinfo>
</Userinfo>
</EDVDATA>
問題如何得到文件格式如下
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo>
<Userinfo/>
<Userinfo>
<Userinfo/>
</Userinfo>
</Userinfo>
<Userinfo>
<Userinfo/>
<Userinfo/>
</Userinfo>
</Userinfo>
</Userinfo>
</Userinfo>
</Userinfo>
我試圖將return doc對象(Xml文件)保存在文件夾中。 然後創建一個新的xmldocument對象,並試圖追加Xmlnodelist,其中新的xmlobject中的用戶信息結構(剛纔在上面)newDoc.AppendChild(nodes);線引發錯誤
無法從「System.Xml.XmlNodeList」到「System.Xml.XmlNode」
任何幫助是非常讚賞轉換。
謝謝,你是對的Appenchild方法期待單個節點。 – masif 2012-03-20 08:12:37