在相同的XML文件上继续写入,而无需在c#中删除

问题描述 投票:0回答:2

到目前为止,我已经完成了这段代码,但是唯一的问题是,每次我使用addUser方法时,XML文件都会被删除,我希望代码继续在其下编写]]

我在c#中编写的代码:

 public static void AddUser(PersonData pd)
        {
            XmlTextWriter xWriter = new XmlTextWriter("D:\\PersonData.Xml", Encoding.UTF8);
            xWriter.Formatting = Formatting.Indented;
            xWriter.WriteStartElement("User");
            xWriter.WriteAttributeString("idNumber", pd.IdNumber1);

            xWriter.WriteStartElement("Firstname");
            xWriter.WriteString(pd.FirstName1);
            xWriter.WriteEndElement();//<FirstName>

            xWriter.WriteStartElement("LastName");
            xWriter.WriteString(pd.LastName1);
            xWriter.WriteEndElement();//<LastName>

            xWriter.WriteStartElement("DateOfBirth");
            xWriter.WriteString(pd.DateOfBirth1.ToString());
            xWriter.WriteEndElement();//<DateOfBirth>

            xWriter.WriteStartElement("Address");
            xWriter.WriteString(pd.Address1);
            xWriter.WriteEndElement();//<Address>

            xWriter.WriteEndElement();//<user>
            xWriter.Close();
        }

XML输出:

<User idNumber="316447077">
  <Firstname>majd</Firstname>
  <LastName>sadi</LastName>
  <DateOfBirth>29/03/1998 14:54:50</DateOfBirth>
  <Address>hohos</Address>
</User>

我想做的XML输出:

 <User idNumber="316447077">
      <Firstname>majd</Firstname>
      <LastName>sadi</LastName>
      <DateOfBirth>29/03/1998 14:54:50</DateOfBirth>
      <Address>hohos</Address>
    </User>
    <User idNumber="316447077">
      <Firstname>majd</Firstname>
      <LastName>sadi</LastName>
      <DateOfBirth>29/03/1998 14:54:50</DateOfBirth>
      <Address>hohos</Address>
    </User>

到目前为止,我已经完成了这段代码,但是效果很好,但是唯一的问题是,每当我使用addUser方法时,XML文件都会被删除,我希望代码继续在其中编写我在c#中编写的代码:...

c# xml xmltextwriter
2个回答
1
投票

假定您有XML的根节点(没有XML的无效XML),则可以使用XElement进行此操作:


1
投票

编写完end元素后尝试像xWriter.Flush()一样进行刷新?

© www.soinside.com 2019 - 2024. All rights reserved.