C# 写XML格式的字符串 (是否保存到硬盘)



一、XML写入到硬盘

<span style="font-size:14px;">//文件路径
            string fileName = "D:\\1.xml";
            //编码方式
            XmlTextWriter writer = new XmlTextWriter(fileName, Encoding.GetEncoding("GBK"));
            writer.Formatting = Formatting.Indented;

            //XML文档创建开始
            writer.WriteStartDocument();
                //根节点
                writer.WriteStartElement("DataArea");

                    //第一个节点
                   writer.WriteStartElement("SID", "SID_RY");
                   writer.WriteAttributeString("Row", "Test");
                   writer.WriteEndElement();

                    //第二个节点
                    writer.WriteStartElement("Data");

                    writer.WriteStartElement("Item");
                    writer.WriteElementString("ID","001");
                    writer.WriteElementString("Name", "Jackerson");
                    writer.WriteElementString("Company", "思源时代");
                    writer.WriteEndElement();

                    writer.WriteEndElement();

                writer.WriteEndElement();
            //结束文档
            writer.WriteEndDocument();</span>
<span style="font-size:14px;"> //将XML写入文件并且关闭XmlTextWriter
                writer.Close();
</span>

二、不保存为文件、直接生成XML字符串

<span style="font-size:14px;"> XmlDocument xmldoc = new XmlDocument();
            //加入XML的声明段落,<?xml version="1.0" encoding="gb2312"?>
            XmlDeclaration xmldecl;
            xmldecl = xmldoc.CreateXmlDeclaration("1.0", "GBK", null);
            xmldoc.AppendChild(xmldecl);

            //加入一个根元素
            XmlElement xmlelem = xmldoc.CreateElement("", "DataArea", "");
            xmldoc.AppendChild(xmlelem);
            //查询根节点
            XmlNode root = xmldoc.SelectSingleNode("DataArea");
            //第一个一级节点
            XmlElement sid = xmldoc.CreateElement("SID");
            sid.InnerText = "SID_RY";
            sid.SetAttribute("Row", "Test");
            root.AppendChild(sid);
            //第二个一级节点
            XmlElement data = xmldoc.CreateElement("Data");
          
                //第一个二级节点
                XmlElement item = xmldoc.CreateElement("Item");
               
                    XmlElement xe = xmldoc.CreateElement("ID");
                    xe.InnerText = "001";
                    XmlElement xe2 = xmldoc.CreateElement("Name");
                    xe2.InnerText = "001";
                    XmlElement xe3 = xmldoc.CreateElement("Company");
                    xe3.InnerText = "001";
                    //添加三级节点
                    item.AppendChild(xe);

                data.AppendChild(item);           

            root.AppendChild(data);

            //生成的XML字符串
          string xmlStr= xmldoc.InnerXml;

            //这种方法如果想要保存,也可以
          xmldoc.Save("路径");</span>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用XmlDocument类来将C#字符串转换为XML格式字符串。以下是一个示例代码: ```csharp string str = "<root><person><name>John</name><age>30</age></person></root>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(str); string xmlString = doc.InnerXml; ``` 在这个示例中,我们首先定义了一个包含XML标记的字符串。然后,我们创建了一个XmlDocument对象,并使用LoadXml方法将字符串加载到该对象中。最后,我们使用InnerXml属性将XmlDocument对象转换为XML格式字符串。 如果你需要在返回XML格式字符串之前格式字符串,可以使用XmlTextWriter类。以下是一个示例代码: ```csharp string str = "<root><person><name>John</name><age>30</age></person></root>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(str); StringBuilder sb = new StringBuilder(); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.NewLineChars = "\r\n"; using (XmlWriter writer = XmlWriter.Create(sb, settings)) { doc.WriteTo(writer); } string xmlString = sb.ToString(); ``` 在这个示例中,我们首先定义了一个包含XML标记的字符串。然后,我们创建了一个XmlDocument对象,并使用LoadXml方法将字符串加载到该对象中。接下来,我们创建了一个StringBuilder对象,并使用XmlWriterSettings类来设置缩进和换行符。最后,我们使用XmlWriter类将XmlDocument对象StringBuilder对象中,并使用ToString方法将StringBuilder对象转换为XML格式字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值