怎么在xml中添加属性?
例如已有这样一条xml字符串
<客户 客户姓名="王五" 客户代码="3" 协议号="abc" 额度="333" 账户="3" 品种="4" </客户信息>
怎么在这条xml中新增一个属性,求各位帮忙,谢谢!
[解决办法]
System.IO.MemoryStream stream = new System.IO.MemoryStream();
byte[] bytes =System.Text.Encoding.Unicode.GetBytes("<客户 客户姓名=\"王五\" 客户代码=\"3\" 协议号=\"abc\" 额度=\"333\" 账户=\"3\" 品种=\"4\" />");
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0L;
System.Xml.Linq.XDocument doc = System.Xml.Linq.XDocument.Load(stream);
doc.Element("客户").Add(new System.Xml.Linq.XAttribute("新属性", "100"));
string xml = doc.ToString();
[解决办法]
http://www.cnblogs.com/lifepoem/archive/2011/12/06/2277554.html
这是 linq操作 xml的教程
看完了 你不但学会了 操作xml的知识 还学习了linq
不要图懒 在网上找现成的方法 那样没有提升的
[解决办法]
lz给的xml根本不合法,假定给客户姓名为王五的添加属性“客户性别”,属性值为“男”:
string filename = @"c:\test.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filename);
(xmlDoc.SelectSingleNode(@"//客户[@客户姓名='王五']") as XmlElement).SetAttribute("客户性别", "男");
xmlDoc.Save(filename);
[解决办法]
看你操作XML是否频繁,如果不是每分钟千万次的读写XML,那就用linq to xml 吧。网上这方面的资料很多。前段时间的编码内容也遇到了操作xml文件,因为以前学java的时候用了很多的Dom4J一类的树状节点操作,所以很自然这里也这样用。后来学了一点linq语句,发现太方便了。推荐使用linq,如果没有很明确的效率要求的话。