zoukankan      html  css  js  c++  java
  • xml文件读写

    写入

    XDocument document = new XDocument();
    XElement root = new XElement(Root);
    foreach(var columnDto in columns)
    {
    	XElement column = new XElement(Column);
    	column.SetElementValue(nameof(columnDto.Name), columnDto.Name);
    	column.SetElementValue(nameof(columnDto.AliasName), columnDto.AliasName);
    	column.SetElementValue(nameof(columnDto.IsCanNotModify), columnDto.IsCanNotModify);
    	root.Add(column);
    }
    root.Save(filePath);
    

    读取

    List<ColumnDto> columns = new List<ColumnDto>();
    //将XML文件加载进来
    XDocument document = XDocument.Load(filePath);
    //获取到XML的根元素进行操作
    XElement root = document.Root;
    //获取根元素下的所有子元素
    IEnumerable<XElement> enumerable = root.Elements();
    foreach (XElement column in enumerable)
    {
    	ColumnDto columnDto = new ColumnDto();
    	foreach (XElement property in column.Elements())
    	{
    		if (property.Name == nameof(columnDto.Name))
    		{
    			columnDto.Name = property.Value;
    		}
    		else if(property.Name == nameof(columnDto.AliasName))
    		{
    			columnDto.AliasName = property.Value;
    		}
    		else if (property.Name == nameof(columnDto.IsCanNotModify))
    		{
    			columnDto.IsCanNotModify = bool.Parse(property.Value);
    		}
    		//Console.WriteLine($"{property.Name}:{property.Value}");   
    	}
    	columns.Add(columnDto);
    	//Console.WriteLine(column.Attribute("id").Value);
    }
    return columns;
    

    ColumnDto

    public class ColumnDto
    {
    	public string Name { get; set; }
    	public string AliasName { get; set; }
    	public bool IsCanNotModify { get; set; }
    }
    

    获得结果

    <?xml version="1.0" encoding="utf-8"?>
    <Root>
      <Column>
        <Name>Time</Name>
        <AliasName>时间</AliasName>
        <IsCanNotModify>false</IsCanNotModify>
      </Column>
    </Root>
    

    示例代码

    ReadAndWriteXmlDemo

  • 相关阅读:
    编程总结2
    编程总结1
    我的三位老师
    《秋季学期学习总结》
    CodeAction_beta02 斐波那契 (多维DP)
    bzoj3029 守卫者的挑战 (多维dp)
    修剪草坪 (单调队列)
    CF734F Anton and School (构造)
    CF359B Permutation (构造)
    CF989C A Mist of Florescence (构造)
  • 原文地址:https://www.cnblogs.com/Lulus/p/12765446.html
Copyright © 2011-2022 走看看