我有一个类似于这样的xml文件:
foo bar bar
我想把它放入一个字典(排序)作为键值对.即:123:foo,456:bar ...等
钥匙是未知的.
我怎样才能做到这一点?
这看起来像Linq到Xml的工作
static void Main(string[] args) { XDocument yourDoc = XDocument.Load("the.xml"); var q = from c in yourDoc.Descendants("resource") orderby (int) c.Attribute("key") select c.Attribute("key").Value + ":" + c.Value; foreach (string s in q) Console.WriteLine(s); Console.ReadLine(); }
如果不使用Linq并且只使用以下内容,这实际上更容易XmlDocument
:
SortedDictionarymyDict = new SortedDictionary (); foreach (XmlElement e in myXmlDocument.SelectNodes("/data/resource")) { myDict.Add(e.GetAttribute("key"), e.Value); }
试试这个,
string s = "foo bar bar "; XmlDocument xml = new XmlDocument(); xml.LoadXml(s); XmlNodeList resources = xml.SelectNodes("data/resource"); SortedDictionarydictionary = new SortedDictionary (); foreach (XmlNode node in resources){ dictionary.Add(node.Attributes["key"].Value, node.InnerText); }