C#中忽略大小写在XML中查询 转
/// <summary> /// 不分大小写查询XML节点,简单写了一下,不知道效率怎么样。 /// 从MSDN是摘了点代码,呵呵。 /// </summary> static void CompareXmlIgnoreCase() { string xml = "<root><item1 type='a'>First</item1><ITEM2 type='A'>Second</ITEM2><ITEM1 type='A'>SECOND</ITEM1></root>"; XmlDocument _doc = new XmlDocument(); _doc.LoadXml(xml); //按名称查询 XmlNodeList l = _doc.DocumentElement.SelectNodes("//root/node()[translate(local-name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'item1']"); for (int i = 0; i < l.Count; i++) { Console.WriteLine(l[i].OuterXml); } Console.WriteLine("==================================================="); //按某个属性比较查询 l = _doc.DocumentElement.SelectNodes("//root/node()[translate(@type, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'a']"); for (int i = 0; i < l.Count; i++) { Console.WriteLine(l[i].OuterXml); } Console.WriteLine("==================================================="); //按InnerText比较查询 l = _doc.DocumentElement.SelectNodes("//root/node()[translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'second']"); for (int i = 0; i < l.Count; i++) { Console.WriteLine(l[i].OuterXml); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异