用C#创建XML文档和读取并修改XML文档

Posted 阶梯之上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C#创建XML文档和读取并修改XML文档相关的知识,希望对你有一定的参考价值。

我们先建立一个模板,下面的示例就是用这个模板来写的。

<root_CharacterTemp>
  <CharacterTemp>
    <JobId>0</JobId>
    <InitMode>none</InitMode>
    <Rate_Force>0</Rate_Force>
  </CharacterTemp>
</root_CharacterTemp>

我们来先写如何用代码创建上面的xml数据

void CreateXml()
    
        //判断文件是否存在
        if (!File.Exists(path))
        
            XmlDocument xmlDoc = new XmlDocument();
            XmlElement root_Character = xmlDoc.CreateElement("root_CharacterTemp");
            XmlElement characterTemp = xmlDoc.CreateElement("CharacterTemp");
            XmlElement jobId = xmlDoc.CreateElement("JobId");
            jobId.InnerText = "0";
            XmlElement initMode = xmlDoc.CreateElement("InitMode");
            initMode.InnerText = "none";
            XmlElement rate_Force = xmlDoc.CreateElement("Rate_Force");
            rate_Force.InnerText = "0";
            //下面的代码都是 添加节点
            characterTemp.AppendChild(jobId);
            characterTemp.AppendChild(initMode);
            characterTemp.AppendChild(rate_Force);
            root_Character.AppendChild(characterTemp);
            xmlDoc.AppendChild(root_Character);
            xmlDoc.Save(path);
        
    

编译并运行就会就会创建示例中的xml数据

下面是如何更新xml数据

void UpdateXml()
    
        if (File.Exists(path))
        
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(path);
            XmlNode root = xmlDoc.SelectSingleNode("root_CharacterTemp");
            XmlNodeList nodeList = root.ChildNodes;
            foreach (XmlElement node in nodeList)
            
                foreach (XmlElement childNode in node.ChildNodes)
                
                    if (childNode.Name == "JobId")
                    
                        childNode.InnerText = "1000";
                    
                
            
            xmlDoc.Save(path);
        
    

很简单几行代码就能修改某一个数据,这里我修改的是JobId的数据,把0修改成了1000


以上是关于用C#创建XML文档和读取并修改XML文档的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 通过读取另一个 XML 文件来创建 XML 文档?

用 c# 创建 xml 文档并用 perl 解析它

使用C#进行XML文档读取

C#中XML文档的读取编写方法?

用C#读取XML文件,怎么可以循环读取

如何在 C# 中读取 XML 文档 [重复]