首页 新闻 搜索 专区 学院

一个Xml操作方法求助

0
悬赏园豆:50 [已解决问题] 解决于 2008-05-27 22:15
有这样一个Xml文件<br>&lt;Sections&gt;<br>&nbsp; &lt;Section Index="0"&gt;&lt;/Section&gt;<br>&nbsp; &lt;Section Index="5"&gt;&lt;/Section&gt;<br>&nbsp; &lt;Section Index="9"&gt;&lt;/Section&gt;<br>&lt;/Sections&gt;<br>假如我想插入一个“&lt;Section Index="7"&gt;&lt;/Section&gt;”,插入的时候要保持Index的有序性,这个应该怎么做呢?如果不用XmlDocment最好,文件比较大。<br><br>不胜感激!<br>
AntiGameZ的主页 AntiGameZ | 初学一级 | 园豆:48
提问于:2008-05-25 22:44
< >
分享
最佳答案
0
可以使用XmlTextReader和XmlTextWriter应该可以解决你的问题。 可以参考: http://www.cnblogs.com/razor/archive/2004/04/22/7228.aspx http://www.cnblogs.com/Grisson/archive/2005/08/13/214313.html
玉开 | 大侠五级 |园豆:8822 | 2008-05-26 09:23
其他回答(5)
0
用序列化和反序列化,应该也是能实现的。
李.net | 园豆:1072 (小虾三级) | 2008-05-26 09:52
0
如果你的对象结构正如你的例子中那样很简单,可以采用XmlReader/XmlWriter。否则复杂度会很高,建议不要使用。 XmlReader上有ReadSubtree方法,可以以当前节点建立一个新的XmlReader对象,可以使用XmlWriter.WriteNode方法,将这个XmlReader的子包括当前节点,全部写入XmlWriter对象。 使用这个方法应该可以帮助你最简单的将一个Xml文件中的指定节点,导入另外一个Xml文件。但是,如果你的XML文件包含namespace的定义,上面的方法可能产生的XML文件中包含很多冗余。并且修复起来很困难。
Colin Han | 园豆:3041 (老鸟四级) | 2008-05-26 13:13
0
c#偶不会,偶用vb的写一段给你吧: Dim xml = <Sections> <Section Index="0"></Section> <Section Index="5"></Section> <Section Index="9"></Section> </Sections> Dim AddID = 7 Dim data = From temp In xml.<Section> Where temp.@Index < 7 Order By temp.@Index Descending Take 1 data(0).AddAfterSelf(<Section Index=<%= AddID %>></Section>) Response.Write(xml.ToString) Response.End()
没剑 | 园豆:430 (菜鸟二级) | 2008-05-26 16:59
0
可以读到DataSet中,然后按Index属性排序,查找插入。
伽马科技.攻城师 | 园豆:1303 (小虾三级) | 2008-05-27 09:32
0
XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("Book.xml")); // 获取根节点 XmlElement Sections= doc.DocumentElement; XmlElement Section = doc.CreateElement("Section "); Section .InnerText = this.txtbookname.Text.Trim(); Section .SetAttribute("Index", this.txtbookname.Text.Trim());//添加属性 Sections.AppendChild(Section );
zmxmiss | 园豆:134 (初学一级) | 2008-05-27 11:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册