[英]Adding multiple Records to the XML file
我想將多個記錄添加到xml文件,這是我正在使用的代碼,
XmlTextWriter xwriter = new XmlTextWriter("C:\\Users\\Desktop\\TestFolder\\Xdoc1.xml", Encoding.UTF8);
xwriter.Formatting = Formatting.Indented;
xwriter.WriteStartElement("Employee");
xwriter.WriteStartElement("Person");
xwriter.WriteStartElement("Name");
xwriter.WriteString(textBox1.Text);
xwriter.WriteEndElement();
xwriter.WriteStartElement("Designation");
xwriter.WriteString(textBox2.Text);
xwriter.WriteEndElement();
xwriter.WriteStartElement("Employee ID");
xwriter.WriteString(textBox3.Text);
xwriter.WriteEndElement();
xwriter.WriteStartElement("Email");
xwriter.WriteString(textBox4.Text);
xwriter.WriteEndElement();
xwriter.WriteEndElement();
xwriter.WriteEndElement();
xwriter.Close();
此代碼的問題在於只能添加一條記錄。 當我嘗試添加第二條記錄時,先前的記錄將被覆蓋。
這里不需要轉換xmlWriter類。
string xmlFile = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Candidates.xml");
xmldoc = new XmlDocument();
xmldoc.Load(xmlFile);
root = xmldoc.DocumentElement;
try
{
XmlNode CandidateNode = xmldoc.CreateNode(XmlNodeType.Element, "Candidate", "");
XmlNode id = xmldoc.CreateNode(XmlNodeType.Element, "CandidateId", "");
id.InnerText = "1";
CandidateNode.AppendChild(id);
XmlNode subPositionId = xmldoc.CreateNode(XmlNodeType.Element, "SubPositionId", "");
subPositionId.InnerText = candidate.PositionId.ToString();
CandidateNode.AppendChild(subPositionId);
XmlNode firstName = xmldoc.CreateNode(XmlNodeType.Element, "FirstName", "");
firstName.InnerText = candidate.FirstName;
XmlNode lastName = xmldoc.CreateNode(XmlNodeType.Element, "LastName", "");
lastName.InnerText = candidate.LastName;
CandidateNode.AppendChild(firstName);
CandidateNode.AppendChild(lastName);
root.AppendChild(CandidateNode);
xmldoc.Save(xmlFile);
這將為您提供幫助。
Linq to XML使xml任務更容易。 看下面的代碼。
if (!System.IO.File.Exists("D:\\Employees.xml"))
{
XElement element = new XElement("Employees");
element.Save("D:\\Employees.xml");
}
XElement doc = XElement.Load("D:\\Employees.xml");
XElement employee = new XElement("Employees",
new XElement("Employee",
new XElement("Person",
new XElement("Name",
textBox1.Text),
new XElement("Designation",
textBox2.Text),
new XElement("EmployeeID",
textBox3.Text),
new XElement("Email",
textBox4.Text))));
doc.Add(employee);
doc.Save("D:\\Employees.xml");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.