110,567
社区成员
发帖
与我相关
我的任务
分享
public static CheckInfo GetInfo(string channelInfo, string cstcode,string province)
{
XElement xmlPage = XElement.Parse(channelInfo);
Hashtable channel = new Hashtable();
List<string> lChinese = new List<string>();
List<string> lEnglish = new List<string>();
List<string> lPhone = new List<string>();
string[] blockNumber = null;
string[] blockChinese = null;
string[] blockEnglish = null;
string[] checkNumber = null;
string[] checkChinese = null;
string[] checkEnglish = null;
string[] tcheckEnglish = null;
string[] tcheckPhone = null;
string[] tcheckChinese = null;
CheckInfo check = null;
try
{
string[] longphone = xmlPage.Descendants("sms").Select(s => s.Element("sms_number").Value).ToArray();
string[] receivequery = xmlPage.Descendants("sms").Select(s => s.Element("sms_content").Value).ToArray();
for (int i = 0; i < longphone.Length; i++)
{
if (!channel.ContainsKey(longphone[i]))
{
channel.Add(longphone[i], receivequery[i]);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
if (xmlPage.Element("sms_block").HasElements)
{
try
{
var arryNumber = xmlPage.Element("sms_block").Element("block_number").Elements("keyword").Select(s => s.Value).ToArray();
var arrayChinese = xmlPage.Element("sms_block").Element("block_chinese").Elements("keyword").Select(s => s.Value).ToArray();
var arrayEnglish = xmlPage.Element("sms_block").Element("block_english").Elements("keyword").Select(s => s.Value).ToArray();
blockNumber = arryNumber;
blockChinese = arrayChinese;
blockEnglish = arrayEnglish;
}
catch (Exception e)
{
blockNumber = new string[0];
blockChinese = new string[0];
blockEnglish =new string[0];
Console.WriteLine(e.Message.ToString());
}
StreamReader sr = null;
if (cstcode.Equals("1"))
{
sr = new StreamReader(@"d:\\text1.xml", Encoding.Default);
string xml = sr.ReadToEnd();
XElement xmlBlockPage = XElement.Parse(xml);
var set = xmlBlockPage.Elements("finfo").Select(e => new
{
longhone = e.Element("longphone").Value,
receiveQuery = e.Element("receivequery").Value,
fenglish = e.Elements("block_english").Select(s => s.Value).ToArray(),
fchinese = e.Elements("block_chinese").Select(s => s.Value).ToArray(),
fphone = e.Elements("block_number").Select(s => s.Value).ToArray()
}).ToList();
var tset = xmlBlockPage.Elements("yidong").Select(e => new
{
tfenglish = e.Elements("block_english").Select(s => s.Value).ToArray(),
tfchinese = e.Elements("block_chinese").Select(s => s.Value).ToArray(),
tfphone = e.Elements("block_number").Select(s => s.Value).ToArray()
}).ToList();
foreach (var item in set)
{
if (channel.ContainsKey(item.longhone))
{
lEnglish.AddRange(item.fenglish);
lChinese.AddRange(item.fchinese);
lPhone.AddRange(item.fphone);
}
}
foreach (var item1 in tset)
{
tcheckEnglish = item1.tfenglish;
tcheckChinese = item1.tfchinese;
tcheckPhone = item1.tfphone;
}
}
else
{
sr = new StreamReader(@"d:\\text2.xml", Encoding.Default);
string xml = sr.ReadToEnd();
XElement xmlBlockPage = XElement.Parse(xml);
var set = xmlBlockPage.Elements("finfo").Select(e => new
{
longhone = e.Element("longphone").Value,
receiveQuery = e.Element("receivequery").Value,
fenglish = e.Elements("block_english").Select(s => s.Value).ToArray(),
fchinese = e.Elements("block_chinese").Select(s => s.Value).ToArray(),
fphone = e.Elements("block_number").Select(s => s.Value).ToArray()
}).ToList();
var tset = xmlBlockPage.Elements("liantong").Select(e => new
{
tfenglish = e.Elements("block_english").Select(s => s.Value).ToArray(),
tfchinese = e.Elements("block_chinese").Select(s => s.Value).ToArray(),
tfphone = e.Elements("block_number").Select(s => s.Value).ToArray()
}).ToList();
foreach (var item in set)
{
if (channel.ContainsKey(item.longhone))
{
lEnglish.AddRange(item.fenglish);
lChinese.AddRange(item.fchinese);
lPhone.AddRange(item.fphone);
}
}
foreach (var item in tset)
{
tcheckEnglish = item.tfenglish;
tcheckChinese = item.tfchinese;
tcheckPhone = item.tfphone;
}
}
checkNumber = lPhone.ToArray();
checkEnglish = lEnglish.ToArray();
checkChinese = lChinese.ToArray();
sr.Close();
try
{
if (tcheckEnglish.Count() > 0)
{
Array.Resize(ref checkEnglish, checkEnglish.Length + tcheckEnglish.Length);
Array.Copy(tcheckEnglish, 0, checkEnglish, checkEnglish.Length - tcheckEnglish.Length, tcheckEnglish.Length);
}
if (tcheckChinese.Count() > 0)
{
Array.Resize(ref checkChinese, checkChinese.Length + tcheckChinese.Length);
Array.Copy(tcheckChinese, 0, checkChinese, checkChinese.Length - tcheckChinese.Length, tcheckChinese.Length);
}
if (tcheckPhone.Count() > 0)
{
Array.Resize(ref checkNumber, checkNumber.Length + tcheckPhone.Length);
Array.Copy(tcheckPhone, 0, checkNumber, checkNumber.Length - tcheckPhone.Length, tcheckPhone.Length);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
string filename = "";
if (filename == "1")
{
filename = "YiDong";
}
else
{
filename = "LianTong";
}
if (!File.Exists(@"d:\\" + filename + "NewBoxResult.txt"))
{
FileStream fs = File.Create(@"d:\\" + filename + "NewBoxResult.txt");
fs.Close();
check = CheckData.Check(blockNumber, blockChinese, blockEnglish, checkNumber, checkChinese, checkEnglish, province, filename);
}
else
{
check = CheckData.Check(blockNumber, blockChinese, blockEnglish, checkNumber, checkChinese, checkEnglish, province, filename);
}
return check;
}
}