<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<report>
<cmd>0000</cmd>
<set id="本设备编号" addr="文三路120号">
<eqinfo desc="设备信息,多条记录">
<eq id="设备编号" st="设备状态" desc="描述(可有可无)" />
</eqinfo>
</set>
</report>
</NewDataSet>
以上内容全改掉
<cmd>0000</cmd> 改成10000
其他节点 属性值全部修改 成 “ok”
求源码!!!
xmlDoc.Load("a.xml");
XmlNodeList nodeList=xmlDoc.SelectSingleNode("NewDataSet/report").ChildNodes;
foreach(XmlNode xn in nodeList)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("")=="")
{
xe.SetAttribute("","");
}
}
xmlDoc.Save("a.xml");
或XmlElement e = (XmlElement)xmldoc.SelectSingleNode("");
e.SetAttribute( "", "");
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<report>
<cmd>10000</cmd>
<set id="ok" addr="ok">
<eqinfo desc="ok">
<eq id="ok" st="ok" desc="ok" />
</eqinfo>
</set>
</report>
</NewDataSet>
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;namespace ConsoleApplication1
{
class Program
{
XmlDocument doc = new XmlDocument(); public Program()
{
doc.Load(".\\XMLFile1.xml"); XmlNode node = doc.SelectSingleNode(@"/NewDataSet/report/cmd");
node.InnerText = "10000"; XmlNode setNode=doc.SelectSingleNode(@"/NewDataSet/report/set");
XmlAttributeCollection xac = setNode.Attributes;
for (int i = 0; i < xac.Count; i++)
{
xac[i].InnerText = "ok";
}
doc.Save(".\\XMLFile1.xml"); Console.WriteLine("ok..");
} static void Main()
{
Program p1 = new Program();
Console.ReadLine();
}
}}
修改之后的形式:<?xml version="1.0" standalone="yes" ?>
- <NewDataSet>
- <report>
<cmd>10000</cmd>
- <set id="ok" addr="ok">
- <eqinfo desc="设备信息,多条记录">
<eq id="设备编号" st="设备状态" desc="描述(可有可无)" />
</eqinfo>
</set>
</report>
</NewDataSet>
楼主可参照 程序和XPath表达式 对eqinfo的节点信息进行更新即可!