我有个string bname="XXXXXX"
我把这个名字放到XML数据库里去对比看看有木有一样的名字
代码如下
DataTable dt = xmlhelp.GetXml(path).Tables["rname"];
if (dt != null)
{
bool ishave = true;
for (int j = 0; j < dt.Rows.Count; j++)
{
string name = dt.Rows[j]["name"].ToString();
if (bname == name)
{
ishave = false;
myfile(bname);//如果是重复的就把Bname写到文本里去
break;
}
我现在是用for来判断名字的唯一性 如果用linq来判断代码应该怎么写那 请高手指点 问过了好多人了 都不知道
我把这个名字放到XML数据库里去对比看看有木有一样的名字
代码如下
DataTable dt = xmlhelp.GetXml(path).Tables["rname"];
if (dt != null)
{
bool ishave = true;
for (int j = 0; j < dt.Rows.Count; j++)
{
string name = dt.Rows[j]["name"].ToString();
if (bname == name)
{
ishave = false;
myfile(bname);//如果是重复的就把Bname写到文本里去
break;
}
我现在是用for来判断名字的唯一性 如果用linq来判断代码应该怎么写那 请高手指点 问过了好多人了 都不知道
var xml = from x in XElement.Load(@"E:\all.xml").Descendants() select new { name = x.Name };
bool flag = false;
foreach (var x in xml.Distinct())
{
if (x.name == "Student")
{
flag = true;
break;
}
}
Console.WriteLine(flag);
var xml = from x in XElement.Load(@"E:\all.xml").Descendants() where x.name == bname select x;
if(xml.Count()>1)
{
myfile(bname);
}
这句好像有问题 没有load的属性
var xml = from x in XElement.Load(@"E:\all.xml").Descendants() where x.name == bname select x;
if(xml.Count()>1)
{
myfile(bname);
}xml.Count()好像木有这个值啊只有xml.Count<>
之前没用过LINQ TO XML
见笑了
XElement xmlFile = XElement.Load(path);
var result = from x in xmlFile.Descendants("rname")
where x.Element("name").Value == "bname "
select x;
if(result.Count()>1)
{
myfile(bname);
}
你可以看一下你有没有 using System.Xml.Linq