/// <summary> /// 解析xml /// </summary> public void AnayXML() { XmlDocument xmlDoc = new XmlDocument(); Assembly _assembly = Assembly.GetExecutingAssembly(); Stream _stream = _assembly.GetManifestResourceStream("WeChat.Emoji.Emoji.xml");//文件需为嵌入的资源 xmlDoc.Load(_stream); XmlNode root = xmlDoc.SelectSingleNode("array"); XmlNodeList nodeList = root.ChildNodes; //循环列表,获得相应的内容 foreach (XmlNode xn in nodeList) { XmlElement xe = (XmlElement)xn; XmlNodeList subList = xe.ChildNodes; emojiEntity entity = new emojiEntity(); foreach (XmlNode xmlNode in subList) { if (xmlNode.Name == "key") { entity.Key = xmlNode.InnerText; } if (xmlNode.Name == "array") { XmlElement lastXe = (XmlElement)xmlNode; foreach (XmlNode lastNode in lastXe) { if (lastNode.Name == "a") { entity.EmojiCode.Add(GetEmojiStr(lastNode.InnerText), GetEmojiImage(lastNode.Attributes[1].Value)); } } } } EmojiList.Add(entity); } foreach (var item in EmojiList) { //所有的内容都添加到一个dictionary中 ContantClass.EmojiCode = ContantClass.EmojiCode.Concat(item.EmojiCode).ToDictionary(k => k.Key, v => v.Value); } }
/// <summary> /// 解析xml /// </summary> public void AnayXML() { XmlDocument xmlDoc = new XmlDocument(); Assembly _assembly = Assembly.GetExecutingAssembly(); Stream _stream = _assembly.GetManifestResourceStream("WeChat.Emoji.Emoji.xml");//文件需为嵌入的资源 xmlDoc.Load(_stream); XmlNode root = xmlDoc.SelectSingleNode("array"); XmlNodeList nodeList = root.ChildNodes; //循环列表,获得相应的内容 foreach (XmlNode xn in nodeList) { XmlElement xe = (XmlElement)xn; XmlNodeList subList = xe.ChildNodes; emojiEntity entity = new emojiEntity(); foreach (XmlNode xmlNode in subList) { if (xmlNode.Name == "key") { entity.Key = xmlNode.InnerText; } if (xmlNode.Name == "array") { XmlElement lastXe = (XmlElement)xmlNode; foreach (XmlNode lastNode in lastXe) { if (lastNode.Name == "e") { entity.EmojiCode.Add(lastNode.InnerText, GetEmoji(lastNode.InnerText)); } } } } EmojiList.Add(entity); } }