这是.xml中的内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- ArenaPackage - ArenaPanel -->
<string name="ql5l3sgiojb59-n10_ojb5" mz="txt_des">叕说明</string>
<!-- ArenaPackage - canjiaBtn -->
<string name="ql5l3sgipzlco-n3_bl1b" mz="n3">开始游戏</string>
<!-- ArenaPackage - ChakanpaimingPanel -->
<string name="ql5l3sgix1kg1e-n20_i6io" mz="txt_title">查看分数</string>
</resources>


    public static void FindXmlAndReadyToRead()
{
try
{
List<String> fileNames = new List<string>(); String Path = ".\\Xml";
DirectoryInfo folder = new DirectoryInfo(Path);
//找到当前路径下,所有包含.xml格式的文件的名字
for (int i = 0; i < folder.GetFiles("*.xml").Count(); ++i)
{
fileNames.Add(folder.GetFiles("*.xml")[i].Name);
} if (fileNames.Count <= 0)
{
Console.WriteLine("Xml文件夹下无xml文件");
return;
} foreach (String fileName in fileNames)
{
Console.WriteLine(fileName);
String filePath = Path + "\\" + fileName;
ReadXml(filePath);
}
//字典排序,通过key.length的大小,从大到小排序
dict = dict.OrderByDescending(o => o.Key.Length).ToDictionary(o => o.Key, p => p.Value); }
catch (Exception e)
{
Console.WriteLine("当前目录无Xml文件夹(需要将.xml文件放在Xml文件夹下):" + e.ToString());
}
}

  

     //读取xml中包含中文的,去重,去掉包含叕    
  public static void ReadXml(String Path)

  {
XmlDocument document = new XmlDocument();
document.Load(Path);
XmlNode xn = document.SelectSingleNode("resources");
XmlNodeList xnl = xn.ChildNodes; List<String> lists = new List<string>(); foreach (XmlNode xnode in xnl)
{
String line = xnode.InnerText; //不包含叕
int ignore = line.IndexOf("叕");
if (ignore <= -1)
{
//提取中文
Regex regex = new Regex("[\u4e00-\u9fa5]+");
MatchCollection mc = regex.Matches(line);
if (mc.Count > 0 && !dict.ContainsKey(line))
{
//将所有包含中文的字符串都放在字典里
               //所有读出去的xml包含中文的内容都在dict的key里,之后可以通过遍历dict的key写入到文本

dict.Add(line, "1");
}
}
} }

  

最新文章

  1. 【翻译】利用Qt设计师窗体在运行时创建用户界面(Creating a user interface from a Qt Designer form at run-time)
  2. SVN中Branch和Merge实践
  3. First Day
  4. DP---Mahjong tree
  5. android Android-PullToRefresh 下拉刷新
  6. easyui中带checkbox框的tree
  7. 使用QEMU调试Linux内核代码
  8. (转)你知道Android也有安全模式吗?(地球人都知道了吧)
  9. 使用Code::Blocks配置Python编译环境
  10. 1.1. chromium源代码分析 - chromiumframe - 介绍
  11. c# 调用外部exe程序
  12. (cljs/run-at (-&gt;JSVM :browser) &quot;语言基础&quot;)
  13. MySQL 索引管理与执行计划
  14. kubernetes---kubectl 管理集群资源
  15. Linux设备树(三 属性)
  16. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  17. QWaiteCondition思考3
  18. 学以致用三十六-----弄懂python装饰器
  19. freeswitch控制台日志级别设置以及存储
  20. vertical起作用的条件

热门文章

  1. 第八章用matplotlib、seaborn、pyecharts绘制散点图
  2. 7.29关灯游戏,用script实现
  3. 语法——包、权限修饰符、final
  4. linux 上使用pm2启动nodejs服务
  5. 报错解决OSError: /lib64/libm.so.6: version `GLIBC_2.27&#39; not found
  6. python之目录结构01
  7. C#消息泵探索(二)
  8. Linux上面配置Apache2支持Https(ssl)具体方案实现
  9. chatgpt 的训练数据时间内容估计
  10. Prettier 与 ESLint 对函数名后空格的处理