首页 > 其他 > 详细

xml文件读写

时间:2020-04-25 20:47:38      阅读:50      评论:0      收藏:0      [点我收藏+]

写入

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

xml文件读写

原文:https://www.cnblogs.com/Lulus/p/12765446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!