问题描述
我的xml结构是这样的<root><version>1.1</version><language>English</languge><items><item><name>sdsd</name><value>sdsd</value><item><item><name>sdsd</name><value>sdsd</value><item><item><name>sdsd</name><value>sdsd</value><item></items></root>由于我要利用readxml方法取出items的数据,这样很方便,但是从目前的结构直接用这个方法是不行,所以,想到的办法是先将xml作为字符串的格式加载meorystream里面,然后删除<root><version><languag>节点。在用在用readxml读出删除了这几个节点的xml字符串,但是出现xml节点的问题。请问错在那里,还有更加好的方式吗,因为我这个要转化成datatable,然后修改后,在转化成xml,不知道是否还可以用writexml这个方法写成xml,不知道格式和原来的一样。谢谢
解决方案
解决方案二:
dom什么问题都解决了
解决方案三:
usingSystem;usingSystem.IO;usingSystem.Xml;publicclassSample{publicstaticvoidMain(){XmlDocumentdoc=newXmlDocument();doc.LoadXml("<bookgenre='novel'ISBN='1-861001-57-5'>"+"<title>PrideAndPrejudice</title>"+"</book>");XmlNoderoot=doc.DocumentElement;//Removethetitleelement.root.RemoveChild(root.FirstChild);Console.WriteLine("DisplaythemodifiedXML...");doc.Save(Console.Out);}}
解决方案四:
帮顶了,up
解决方案五:
如果xml文档不是很大的话,直接用XmlDocument加载,然后SelectNodes("//item")就可以选取到你要的节点了。如果xml文档很大的话,还是用XmlReader,但是没必要删除前面的节点啊,反正是循环,判断下节点名称是不是item就可以啊,还有,除非是使用读片断的方式,否则根节点是必须的。
解决方案六:
引用4楼orain的回复:
如果xml文档不是很大的话,直接用XmlDocument加载,然后SelectNodes("//item")就可以选取到你要的节点了。如果xml文档很大的话,还是用XmlReader,但是没必要删除前面的节点啊,反正是循环,判断下节点名称是不是item就可以啊,还有,除非是使用读片断的方式,否则根节点是必须的。
顶
解决方案七:
问题是我只是在为了方便用readxml生成一个datatable,所以要去除versionlanguage节点,但是并不将修改保存xml,而只是在内存中去除,然后以datatable的方式绑定到gridview中。