XML 노드를 검색하는 가장 빠른 방법은 무엇입니까? 나는 특정 노드를 대체하는 기능이 필요한 응용 프로그램을 가지고 있는데, 문서가 작을 때는 빠르지 만 빨리 커지면 교체를 수행하는 데 몇 초가 걸립니다. 이 방법은, 나는 그 상황에서 진짜 나쁜 것을 짜증나게하는 무차별 한 비교를한다.ID로 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;
}
}
XPath를 살펴볼 수 있습니다. 일반적으로 이와 같은 목적으로 사용됩니다. –