In C#, is there a way to add an XML node to a file on disk WITHOUT loading it first?

前端 未结 8 1976
后悔当初
后悔当初 2020-12-20 14:14

I have a very basic XML structure/file on disk which is something like:


    kdkdkdk         


        
8条回答
  •  情话喂你
    2020-12-20 14:55

    System.IO.FileInfo[] aryFi = di.GetFiles("*.xml");
    
    
    foreach (System.IO.FileInfo fi in aryFi) {
    
     System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();
     xmlDocument.Load(fi.FullName);
    
     XmlNode refelem = xmlDocument.LastChild;
     XmlNode newElem = xmlDocument.CreateNode("element", "something", "");
     newElem.InnerText = "sometext";
     xmlDocument.InsertAfter(newElem, refelem);
    }
    

    I believe opening and inserting a node would be best option. Either way you would need to use IO, why not do it proper way?

    For single file

    System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();
     xmlDocument.Load("file path");
    
     XmlNode refelem = xmlDocument.LastChild;
     XmlNode newElem = xmlDocument.CreateNode("element", "something", "");
     newElem.InnerText = "sometext";
     xmlDocument.InsertAfter(newElem, refelem);
    

提交回复
热议问题