这是.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"); } } } }