これがクエリです
XDocument application = XDocument.Load(@".\..\..\XmlFile\" + xmlFileName);
var elements = from p in application.Descendants("Function")
where ((string)p.Attribute("Fnumber").Value.Trim() == (SourceCodeParser.fCount.ToString().Trim()) && (string)p.Attribute("MethodName").Value.Trim() == (methodName) && (string) p.Parent.Parent.Attribute("ClassName").Value.Trim()== (className))
select p.Element("MethodDependencies");
以下は、例外をスローするクエリを実行するためのコードスニペットです。
foreach (var file in elements)
{
file.Add(
new XElement("MethodDependency",
new XAttribute("MethodName", MethodName),
new XAttribute("ObjectName", ObjectName),
new XAttribute("CallNumber", SourceCodeParser.methodcallCount.ToString().Trim()),
new XElement("Arguments")
));
}
これがXml構造です
<Classes>
<Class ClassName="" ClassPath="" ModifiedDate="" CreationDate="" InheritedFrom="" Modifier="" Specifier="">
<Functions>
<Function ReturnType="" Fnumber="" AccessModifier="" AccessSpecifier="" MethodName="">
<Dependencies />
<MethodDependencies />
</Function>
</Functions>
</Class>
</Classes>
このクエリは他のファイルではうまく機能しますが、コードはすべてのファイルで同じですが、一部のファイルでは例外がスローされます...
なにか提案を?