C# 如何向XML添加记录和读取

C# 如何向XML添加记录和读取,第1张

<xml version="10" encoding="utf-8">
<CodeType>
<Type name="常用代码片段" file="favoritexml">
<snippet id="1">截取字符串</snippet>
<snippet id="2">获取当前时间</snippet>
<snippet id="3">获取服务器路径</snippet>
</Type>
</CodeType>
-----------------
using System;
using SystemCollectionsGeneric;
using SystemText;
using SystemXml;
using CodeReceivingChamberModel;
namespace CodeReceivingChamberDAL
{
/// <summary>
/// 代码种类--数据访问
/// </summary>
public class CodeTypeService
{
/// <summary>
/// 获取所有代码种类
/// </summary>
/// <returns>代码种类集合</returns>
public static List<CodeType> GetAllCodeType()
{
XmlDocument xmlCodeType = XmlToolGetXmlDocument("CodeTypexml");
XmlNode CodeTypes = xmlCodeTypeDocumentElement;
List<CodeType> codeTypeList = new List<CodeType>();
foreach (XmlNode xmltype in CodeTypesChildNodes)
{
CodeType codeType = new CodeType();
codeTypeName = xmltypeAttributes["name"]Value;
codeTypeFile = xmltypeAttributes["file"]Value;
List<Snippet> snippetList = new List<Snippet>();
foreach (XmlNode xmlsnippet in xmltypeChildNodes)
{
Snippet codeSnippet = new Snippet();
codeSnippetId = ConvertToInt32(xmlsnippetAttributes["id"]Value);
codeSnippetTypeName = codeTypeName;
codeSnippetTitle = xmlsnippetInnerText;
snippetListAdd(codeSnippet);
}
codeTypeSnippetes = snippetList;
codeTypeListAdd(codeType);
}
return codeTypeList;
}
/// <summary>
/// 修改代码种类名称
/// </summary>
/// <param name="oldName">原名称</param>
/// <param name="newName">新名称</param>
/// <returns>是否成功</returns>
public static int ModifyCodeTypeName(string oldName, string newName)
{
if (!ValidateCodeType(newName))
{
return 0;
}
XmlDocument xmlCodeType = new XmlDocument();
xmlCodeTypeLoad("CodeTypexml");
XmlNode CodeTypes = xmlCodeTypeDocumentElement;
List<CodeType> codeTypeList = new List<CodeType>();
foreach (XmlNode xmltype in CodeTypesChildNodes)
{
if (xmltypeAttributes["name"]Value == oldName)
{
xmltypeAttributes["name"]Value = newName;
}
}
xmlCodeTypeSave("CodeTypexml");
return 1;
}
/// <summary>
/// 添加代码种类
/// </summary>
/// <param name="typeName">种类名称</param>
/// <returns>是否成功</returns>
public static int AddCodeType(string typeName)
{
if (!ValidateCodeType(typeName))
{
return 0;
}
XmlDocument xmlCodeType = new XmlDocument();
xmlCodeTypeLoad("CodeTypexml");
XmlNode CodeTypes = xmlCodeTypeDocumentElement;
XmlElement xelNewType = xmlCodeTypeCreateElement("Type");
xelNewTypeSetAttribute("name", typeName);
xelNewTypeSetAttribute("file", typeName + "xml");
CodeTypesAppendChild(xelNewType);
xmlCodeTypeSave("CodeTypexml");
SnippetServiceCreatSnippetXML(typeName + "xml");
return 1;
}
/// <summary>
/// 添加修改验证
/// </summary>
/// <param name="codeTypeName">类别名称</param>
/// <returns>是否已存在,已存在为False</returns>
private static bool ValidateCodeType(string codeTypeName)
{
XmlDocument xmlCodeType = new XmlDocument();
xmlCodeTypeLoad("CodeTypexml");
XmlNode CodeTypes = xmlCodeTypeDocumentElement;
foreach (XmlNode codeType in CodeTypesChildNodes)
{
if (codeTypeAttributes["name"]Value == codeTypeName)
return false;
}
return true;
}
/// <summary>
/// 删除代码类别
/// </summary>
/// <param name="typeName">类别名称</param>
/// <returns>是否成功</returns>
public static int DelCodeType(string typeName)
{
XmlDocument xmlCodeType = new XmlDocument();
xmlCodeTypeLoad("CodeTypexml");
XmlNode CodeTypes = xmlCodeTypeDocumentElement;
foreach (XmlNode codeType in CodeTypesChildNodes)
{
if (codeTypeAttributes["name"]Value == typeName)
{
CodeTypesRemoveChild(codeType);
xmlCodeTypeSave("CodeTypexml");
return 1;
}
}
return 0;
}
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13211266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存