.NET怎么修改和添加XML节点的内容?

.NET怎么修改和添加XML节点的内容?,第1张

给你找个类,拿去改改,举一反三就最好了: using System

using System.Data

using System.Configuration

using System.Web

using System.Web.Security

using System.Web.UI

using System.Web.UI.WebControls

using System.Web.UI.WebControls.WebParts

using System.Web.UI.HtmlControls

using System.Xmlnamespace PuTianCheng

{

/// <summary>

/// XmlHelper 的摘要说明

/// </summary>

public class XmlHelper

{

public XmlHelper()

{

}/// <summary>

/// 读取数据

/// </summary>

/// <param name="path">路径</param>

/// <param name="node">节点</param>

/// <param name="attribute">属性名,非空时返回该属性值,否则返回串联值</param>

/// <returns>string</returns>

/**************************************************

* 使用示列:

* 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

}/// <summary>

/// 插入数据

/// </summary>

/// <param name="path">路径</param>

/// <param name="node">节点</param>

/// <param name="element">元素名,非空时插入新元素,否则在该元素中插入属性</param>

/// <param name="attribute">属性名,非空时插入该元素属性值,否则插入元素值</param>

/// <param name="value">值</param>

/// <returns></returns>

/**************************************************

* 使用示列:

* 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(path)

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 { }

}/// <summary>

/// 修改数据

/// </summary>

/// <param name="path">路径</param>

/// <param name="node">节点</param>

/// <param name="attribute">属性名,非空时修改该节点属性值,否则修改节点值</param>

/// <param name="value">值</param>

/// <returns></returns>

/**************************************************

* 使用示列:

* 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 { }

}/// <summary>

/// 删除数据

/// </summary>

/// <param name="path">路径</param>

/// <param name="node">节点</param>

/// <param name="attribute">属性名,非空时删除该节点属性值,否则删除节点值</param>

/// <param name="value">值</param>

/// <returns></returns>

/**************************************************

* 使用示列:

* 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 { }

}

}

}

在XML中,list节点是一种用于存储多个值的数据结构,而循环节点则是指在XML文档中重复使用同一个元素的方法。针对这两个节点传递值,可以通过以下方式实现:

1. 为list节点添加子节点:可以使用XML的<item>或者<value>元素来定义每个列表项,并将其作为list节点的子节点。

例如:

```

<list>

<item>Value 1</item>

<item>Value 2</item>

<item>Value 3</item>

</list>

```

2. 在循环节点中使用属性:可以在循环节点的开始标记中使用属性(如index)来表示该循环的当前状态,并使用该属性的值来传递参数。

例如:

```

<loop index=\"1\">

<value>Parameter for loop 1</value>

</loop>

<loop index=\"2\">

<value>Parameter for loop 2</value>

</loop>

```

这些方法是在XML中传递值给list和循环节点最常见的方法,但它们并不是唯一的方法。具体应该根据具体情况而定


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

原文地址:https://54852.com/bake/8026044.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存