XMLノードを取得するための最速の方法は何ですか?特定のノードを置き換える機能を必要とするアプリケーションがあります。ドキュメントが小さい場合は高速ですが、すぐに大きくなり、置換を行うのに数秒かかります。これが方法です。私はブルートフォース比較を行うだけで、そのシナリオでは非常に悪い結果になります。
public bool ReplaceWithAppendFile(string IDReplace)
{
XElement UnionElement = (from sons in m_ExtractionXmlFile.Root.DescendantsAndSelf()
where sons.Attribute("ID").Value == IDReplace
select sons).Single();
UnionElement.ReplaceWith(m_AppendXmlFile.Root.Elements());
m_ExtractionXmlFile.Root.Attribute("MaxID").Value =
AppendRoot.Attribute("MaxID").Value;
if (Validate(m_ExtractionXmlFile, ErrorInfo))
{
m_ExtractionXmlFile.Save(SharedViewModel.ExtractionFile);
return true;
}
else
{
m_ExtractionXmlFile = XDocument.Load(SharedViewModel.ExtractionFile);
return false;
}
}