/// XML文件的操作类 |
/// |
/// |
/// 读取数据 |
/// |
/// 路径 |
/// 节点 |
/// 属性名,非空时返回该属性值,否则返回串联值 |
/// string |
/************************************************** |
* 使用示列: |
* XmlHelper.Read(path, "/Node", "") |
* XmlHelper.Read(path, "/Node/Element[@Attribute='Name']", "Attribute") |
************************************************/ |
public static string Read ( string path, string node, string attribute ) |
{ |
string value = "" ; |
try |
{ |
XmlDocument doc = new XmlDocument(); |
doc.Load ( path ); |
XmlNode xn = doc.SelectSingleNode ( node ); |
value = ( attribute.Equals ( "" ) ? xn.InnerText : xn.Attributes[attribute].Value ); |
} |
catch { } |
return value; |
} |
/// |
/// 插入数据 |
/// |
/// 路径 |
/// 节点 |
/// 元素名,非空时插入新元素,否则在该元素中插入属性 |
/// 属性名,非空时插入该元素属性值,否则插入元素值 |
/// 值 |
/// |
/************************************************** |
* 使用示列: |
* XmlHelper.Insert(path, "/Node", "Element", "", "Value") |
* XmlHelper.Insert(path, "/Node", "Element", "Attribute", "Value") |
* XmlHelper.Insert(path, "/Node", "", "Attribute", "Value") |
************************************************/ |
public static void Insert ( string path, string node, string element, string attribute, string value ) |
{ |
try |
{ |
XmlDocument doc = new XmlDocument(); |
doc.Load ( "XmlFile.xml" ); |
XmlNode xn = doc.SelectSingleNode ( node ); |
if ( element.Equals ( "" ) ) |
{ |
if ( !attribute.Equals ( "" ) ) |
{ |
XmlElement xe = ( XmlElement ) xn; |
xe.SetAttribute ( attribute, value ); |
} |
} |
else |
{ |
XmlElement xe = doc.CreateElement ( element ); |
if ( attribute.Equals ( "" ) ) |
xe.InnerText = value; |
else |
xe.SetAttribute ( attribute, value ); |
xn.AppendChild ( xe ); |
} |
doc.Save ( path ); |
} |
catch { } |
} |
/// |
/// 修改数据 |
/// |
/// 路径 |
/// 节点 |
/// 属性名,非空时修改该节点属性值,否则修改节点值 |
/// 值 |
/// |
/************************************************** |
* 使用示列: |
* XmlHelper.Insert(path, "/Node", "", "Value") |
* XmlHelper.Insert(path, "/Node", "Attribute", "Value") |
************************************************/ |
public static void Update ( string path, string node, string attribute, string value ) |
{ |
try |
{ |
XmlDocument doc = new XmlDocument(); |
doc.Load ( path ); |
XmlNode xn = doc.SelectSingleNode ( node ); |
XmlElement xe = ( XmlElement ) xn; |
if ( attribute.Equals ( "" ) ) |
xe.InnerText = value; |
else |
xe.SetAttribute ( attribute, value ); |
doc.Save ( path ); |
} |
catch { } |
} |
/// |
/// 删除数据 |
/// |
/// 路径 |
/// 节点 |
/// 属性名,非空时删除该节点属性值,否则删除节点值 |
/// 值 |
/// |
/************************************************** |
* 使用示列: |
* XmlHelper.Delete(path, "/Node", "") |
* XmlHelper.Delete(path, "/Node", "Attribute") |
************************************************/ |
public static void Delete ( string path, string node, string attribute ) |
{ |
try |
{ |
XmlDocument doc = new XmlDocument(); |
doc.Load ( path ); |
XmlNode xn = doc.SelectSingleNode ( node ); |
XmlElement xe = ( XmlElement ) xn; |
if ( attribute.Equals ( "" ) ) |
xn.ParentNode.RemoveChild ( xn ); |
else |
xe.RemoveAttribute ( attribute ); |
doc.Save ( path ); |
} |
catch { } |
} |
#region 使用方法 |
//================================================== |
//XmlFile.xml: |
// |
// |
//================================================== |
//string xml = Server.MapPath("XmlFile.xml"); |
//插入元素 |
//XmlHelper.Insert(xml, "/Root", "Studio", "", ""); |
//插入元素/属性 |
//XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "小路工作室"); |
//XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "丁香鱼工作室"); |
//XmlHelper.Insert(xml, "/Root/Studio", "Site", "Name", "谱天城工作室"); |
//XmlHelper.Insert(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "Master", "", "红尘静思"); |
//插入属性 |
//XmlHelper.Insert(xml, "/Root/Studio/Site[@Name='小路工作室']", "", "Url", "http://www.wzlu.com/"); |
//XmlHelper.Insert(xml, "/Root/Studio/Site[@Name='丁香鱼工作室']", "", "Url", "http://www.luckfish.net/"); |
//XmlHelper.Insert(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "", "Url", "http://www.putiancheng.com/"); |
//修改元素值 |
//XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']/Master", "", "RedDust"); |
//修改属性值 |
//XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "Url", "http://www.putiancheng.net/"); |
//XmlHelper.Update(xml, "/Root/Studio/Site[@Name='谱天城工作室']", "Name", "PuTianCheng Studio"); |
//读取元素值 |
//Response.Write(" |
" + XmlHelper.Read(xml, " /Root/Studio/Site/Master ", " ") + " |
"); |
//读取属性值 |
//Response.Write(" |
" + XmlHelper.Read(xml, " /Root/Studio/Site ", " Url ") + " |
"); |
//读取特定属性值 |
//Response.Write(" |
" + XmlHelper.Read(xml, " /Root/Studio/Site[@Name= '丁香鱼工作室' ] ", " Url ") + " |
"); |
//删除属性 |
//XmlHelper.Delete(xml, "/Root/Studio/Site[@Name='小路工作室']", "Url"); |
//删除元素 |
//XmlHelper.Delete(xml, "/Root/Studio", ""); |
#endregion |
by: 发表于:2018-01-15 09:54:16 顶(0) | 踩(0) 回复
??
回复评论