我做了,如果一个属性在一个XML文件存在,检查的方法。 如果它不存在,则返回“假”。 它的工作原理,但它需要一个很长的时间来解析文件。 看来它读取每个单列整个文件。 我错过了一些东西在这里? 我可以使它更有效不知何故?
public static IEnumerable<RowData> getXML(string XMLpath)
{
XDocument xmlDoc = XDocument.Load("spec.xml");
var specs = from spec in xmlDoc.Descendants("spec")
select new RowData
{
number= (string)spec.Attribute("nbr"),
name= (string)spec.Attribute("name").Value,
code = (string)spec.Attribute("code").Value,
descr = (string)spec.Attribute("descr").Value,
countObject = checkXMLcount(spec),
return specs;
}
public static string checkXMLcount(XElement x)
{
Console.WriteLine(x.Attribute("nbr").Value);
Console.ReadLine();
try
{
if (x.Attribute("mep_count").Value == null)
{
return "False";
}
else
{
return x.Attribute("mep_count").Value;
}
}
catch
{
return "False";
}
}
我测试,以取代一个只有返回和接收字符串的方法:
public static string checkXMLcount(string x)
{
Console.WriteLine(x);
Console.ReadLine();
return x;
}
我做了一个XML文件只有一个单列。 控制台打印出的值的15倍。 有任何想法吗?