通过文件流写入XML数据

  通过文件流给已经存在的XML文件添加节点时,会通过文档对象加载流数据。在文档对象处理完数据之后,重新把数据写入XML文件时,因为默认是流结尾写入,那么会在XML文件中出现重复的数据。为了解决这个问题需要把流的长度设置为0,来重新写入XML文件。

 using(FileStream fs = new FileStream(GlobalParams.XmlFileName,FileMode.Open,FileAccess.ReadWrite))
            {
                try
                {
                    XDocument doc = XDocument.Load(fs);
                    XElement element = new XElement("Email",
                        new XElement("EmailFrom", txtEmailAddress.Text.Trim()),
                        new XElement("MailHost", txtSMTP.Text.Trim()),
                        new XElement("EmailAccount", txtEmailAccount.Text.Trim()),
                        new XElement("EmailPassword", txtEmailPassword.Text.Trim()),
                        new XElement("SMTPPort", updSMTPPort.Value),
                        new XElement("EnableSSL", chkSSL.Checked)
                        );

                    if (!doc.Root.Descendants("EmailFrom").Any(ele => ele.Value == txtEmailAddress.Text.Trim()))
                    {
                        doc.Root.Element("Push_MLG").Add(element);
                        fs.SetLength(0);
                        doc.Save(fs);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("Failed:\t{0}", ex.Message));
                    return;
                }
时间: 2024-11-05 22:38:12

通过文件流写入XML数据的相关文章

ASP.NET 将文件流写入临时文件,并打开

今天遇到一个开发任务,需要调取第三方接口,接口返回Stream文件流(pdf文件),然后供用户打印. 以下是源码: public void PrintOrderTestForpdf() { //1.创建实体 PrintOrderInfo model = new PrintOrderInfo() { ApiToken = "XXX", LabelFormat = "A4_2", OutPutFormat = "pdf", PrintCustoms

Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlwt 其实是没有直接实现: 打开已有的excel文件,然后在文件最后写入,添加新数据 的函数的. 只不过,可以利用: Working with Excel Files in Python 中的库,组合实现. 2. writing to existing workbook using xlwt 给出了示

C#文件流写入方法

stream为服务端接收的文件流 var bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); var pathHead = HttpContext.Current.Request.PhysicalApplicationPath; if (!Directory.Exists(path)) Directory.C

【python小练】0017-将xls文件内容写入xml文件中

第 0017 题: 将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如 下所示: <?xml version="1.0" encoding="UTF-8"?> <root> <students> <!-- 学生信息表 "id" : [名字, 数学, 语文, 英文] --> { "1" : ["张三", 150

C++-&gt;10.3.2-3,使用文件流类录入数据,并统计行数

题目:建立一个文本文件,从键盘录入一篇短文存放在该文件中短文由若干行构成,每行不超过80个字符,并统计行数. /* #include<iostream.h>#include<stdlib.h>#include<fstream.h>void main(){ fstream iofs; char *p,str[80],str1[80]; int x=0;   p=&str[1];   cout<<"Please input the file n

c++文件流写入到execl中

#include <iostream> #include <fstream> #include <string> using namespace std; int main() { ofstream oFile; oFile.open("test.csv",ios::out|ios::trunc); oFile<<"属性1"<<","<<"属性2"<

Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

1 /* 2 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 3 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 4 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 5 4. fs.appendFile 写入追加文件 6 5. fs.readFile 读取文件 7 6. fs.readdir 读取目录 8 7. fs.rename 重命名 9 8. fs.rmdir 删除目录 10 9. fs.unlink 删除文件 11 */ 12

C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器,它能够长期保留信息,能读能写,可以刷新重写,方便携带,因而得到广泛使用. 文件(file)是程序设计中一个重要的概念.所谓“文件”,一般指存储在外部介质上数据的集合.一批数据是以文件的形式存放在外部介质(如磁盘.光盘和U盘)上的.操 作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在外部

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.