Xml封装操作类
public class XmlData
{
/// <summary>
/// 读取指定位置的Xml文件,返回DataSet(带数据构架)
/// </summary>
/// <param name="Path">Xml文件的虚拟地址</param>
/// <returns></returns>
public static DataSet Read(string Path)
{
DataSet ds = new DataSet();
ds.ReadXml(UrlPath.Path(Path));
return ds;
}
/// <summary>
/// 读取指定位置的Xml文件,返回DataView(带数据构架)
/// </summary>
/// <param name="Path">Xml文件的虚拟地址</param>
/// <param name="Where">筛选条件</param>
/// <returns></returns>
public static DataView Read(string Path, string Where)
{
DataSet ds = new DataSet();
ds.ReadXml(UrlPath.Path(Path));
DataView Dv = new DataView(ds.Tables[0]);
Dv.RowFilter = Where;
return Dv;
}
/// <summary>
/// 取出指定位置的Xml文件某个字段的值(带数据构架)
/// </summary>
/// <param name="Path">Xml文件的虚拟地址</param>
/// <param name="Where">筛选条件</param>
/// <param name="Field">要得到值的字段名</param>
/// <returns></returns>
public static object Query(string Path, string Where, string Field)
{
DataSet ds = new DataSet();
ds.ReadXml(UrlPath.Path(Path));
DataView pp = new DataView(ds.Tables[0]);
pp.RowFilter = Where;
return pp[0][Field].ToString();
}
/// <summary>
/// 取出指定位置的Xml文件指定字段字符串的值(带数据构架,)
/// </summary>
/// <param name="Path">文件的虚拟地址</param>
/// <param name="Where">筛选条件</param>
/// <param name="Field">要得到值的字段名的字符串</param>
/// <returns></returns>
public static string[] Query(string Path, string Where, string[] Field)
{
DataSet ds = new DataSet();
ds.ReadXml(UrlPath.Path(Path));
DataView pp = new DataView(ds.Tables[0]);
pp.RowFilter = Where;
List<string> list = new List<string>();
foreach (string a in Field)
{
list.Add(pp[0][a].ToString());
}
return list.ToArray();
}
/// <summary>
/// 修改appSettings指定键的值
/// </summary>
/// <param name="Path">文件的虚拟地址</param>
/// <param name="Key">要修改键</param>
/// <param name="Value">要修改的值</param>
/// <returns></returns>
public static void AppModify(string Path, string Key, string Value)
{
string XPath = "/configuration/appSettings/add[@key='Count']";
XmlDocument doc = new XmlDocument();
doc.Load(UrlPath.Path(Path));
XmlNode AddKey = doc.SelectSingleNode((XPath.Replace("Count", Key)));
if (AddKey == null)
{
throw new ArgumentException("没有找到<add key=" + Key + " value=.../>的配置节");
}
AddKey.Attributes["value"].InnerText = Value;
doc.Save(UrlPath.Path(Path));
}
/// <summary>
/// 读取一个appSettings指定键的值
/// </summary>
/// <param name="Path">文件的虚拟地址</param>
/// <param name="Key">要去取键</param>
/// <returns></returns>
public static string AppString(string Path, string Key)
{
string XPath = "/configuration/appSettings/add[@key='Count']";
XmlDocument doc = new XmlDocument();
doc.Load(UrlPath.Path(Path));
XmlNode AddKey = doc.SelectSingleNode((XPath.Replace("Count", Key)));
if (AddKey == null)
{
throw new ArgumentException("没有找到<add key=" + Key + " value=.../>的配置节");
}
return AddKey.Attributes["value"].InnerText;
}
}

浙公网安备 33010602011771号