c# .net 怎么将一个xml字符串 转换成一个xmlnode ,(不是xmldocument)

如题所述

xmlnode是xmldocument的基类,xmldocument是指向整个文档,但是xmlnode只是某个节点,xmlnodelist是节点集合,使用下面这句话即可进行转化

XmlNodeList XmlNodeListObj = XmlDocumentObject.GetElementsByTagName( "名称" );

追问

那怎么把没有根节点的 xml字符串,转化为nodelist 呢,你这个获取的xmlnodelist 是已有xmldocument 的nodelist?

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-27
using System.Xml.Linq;

//现在一般操作xml,推荐的方法有两种。一种:XElement;二种:XMLWriter。不推荐用XMLDocument这种方式操作xml。

XElement xml = XElement.Parse(字符串);

追问

为什么 不推荐使用 xmldocument 这种方式呢, 它和你介绍的 linqtoxml 哪种效率更好呢?
我现在要解决的就是效率问题,所以才问的这个问题;
还有xmlwriter 不是把xml里面的东西 对外写么,它怎么把其它对象转换成xml?

追答

我一般用XmlWriter就是把一个类序列化xml文件保存。然后再把这个xml文件反序列化成这个类。


你说的效率问题。我就没有测试过了。


不过微软官网在3.0推出之后,不再希望对xml的操作用XmlDocument而改用XDocument这种方式。我个人就感觉XDocument写起来很方便。


至于你说的转换成Node形式。

XElement xml = XElement.Load("xml字符串文件");
var query = xml.Nodes("节点名称");

第2个回答  推荐于2016-05-28
        string xmlContent = "<foo></foo>";
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xmlContent);
        XmlNode newNode = doc.DocumentElement;

参考资料:http://stackoverflow.com/questions/4130341/better-way-to-convert-a-string-to-xmlnode-in-c-sharp

第3个回答  2013-12-27
可以参考我之前一个问题的回答:
http://zhidao.baidu.com/question/646658775938894045.html?oldq=1
这里的话你需要添加一个根节点,才行追问

你说的在理,你用的linqtoxml ,它和xmldocment 原生操作,哪个更具效率呢?

本回答被提问者采纳
第4个回答  2013-12-27
node.OuterXML
相似回答