读取xml文件中节点

时间:2022-02-17 07:17:25

1、【在解决方案下新建Xml文件 并设置demo值】

读取xml文件中节点

读取xml文件中节点

2、【设置Xml文件属性为 始终复制】

读取xml文件中节点

3、【代码】

/// <summary>
/// Xml文件名
/// </summary>
private const string _xmlFilePath = "XMLFileDemo.xml";
/// <summary>
/// 获取Xml文件中节点的值
/// </summary>
/// <param name="value"></param>
/// <param name="xmlPath">节点名称</param>
/// <returns></returns>
public static string GetPropertyValue(ref string value, string xmlPath)
{
try
{
XmlDocument xml = new XmlDocument();
xml.Load(_xmlFilePath);
XmlNodeList xmlNode = xml.SelectNodes(xmlPath);
if (xmlNode.Count==)
{
throw new ApplicationException(string.Format("{0}文件中不存在节点{1}", _xmlFilePath, xmlPath));
}
value = xmlNode[].InnerXml;
return value;
}
catch (Exception ex)
{
throw new ApplicationException(ex.Message);
}
}
/// <summary>
/// 更改Xml文件中某一节点的值
/// </summary>
/// <param name="value"></param>
/// <param name="xmlPath"></param>
public static void SetPropertyValue(string value, string xmlPath)
{
try
{
XmlDocument xml = new XmlDocument();
xml.Load(_xmlFilePath);
XmlNodeList xmlNode = xml.SelectNodes(xmlPath);
if (xmlNode.Count == )
{
throw new ApplicationException(string.Format("{0}文件中不存在节点{1}", _xmlFilePath, xmlPath));
}
xmlNode[].InnerXml = value;
xml.Save(_xmlFilePath);
}
catch (Exception ex)
{
throw new ApplicationException(ex.Message);
}
}

4、【调用Demo】

public class Program
{
private string _myProperty;
public string MyProperty {
get
{
return SingleDemo.GetPropertyValue(ref _myProperty, "Settings/Name");
}
set {
SingleDemo.SetPropertyValue(value, "Settings/Name");
}
}
static void Main(string[] args)
{
Program p = new Program();
Console.WriteLine(p.MyProperty);
Console.WriteLine("请输入变化后的值:");
string s=Console.ReadLine();
p.MyProperty = s;
Console.WriteLine("变化后Property的值:"+p.MyProperty);
Console.ReadLine();
}
}

读取xml文件中节点