반응형
Linq와 XML 후손 및 요소의 차이점
VS IntelliSense 에서이 키워드를 모두 보았습니다. 나는 그들 사이의 차이점을 찾으려고 노력했지만 명확한 대답을 얻지 못했습니다. 중소 규모 XML 파일에서 가장 우수한 성능을 발휘하는 것은 무엇입니까? 감사
Elements
직계 자손 즉 직계 자녀 인 요소 만 찾습니다 .
Descendants
어린이, 손자 등 모든 수준의 어린이를 찾습니다.
차이점을 보여주는 예는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8" ?>
<foo>
<bar>Test 1</bar>
<baz>
<bar>Test 2</bar>
</baz>
<bar>Test 3</bar>
</foo>
암호:
XDocument doc = XDocument.Load("input.xml");
XElement root = doc.Root;
foreach (XElement e in root.Elements("bar"))
{
Console.WriteLine("Elements : " + e.Value);
}
foreach (XElement e in root.Descendants("bar"))
{
Console.WriteLine("Descendants : " + e.Value);
}
결과:
구성 요소 : 시험 1 요소 : 시험 3 후손 : 시험 1 후손 : 시험 2 후손 : 시험 3
원하는 요소가 직계 자식임을 알고 있다면 Elements
대신 대신 사용하면 성능이 향상됩니다 Descendants
.
Descendants
지정된 이름에 대해 현재 요소의 전체 하위 트리를 검색하거나 이름이 제공되지 않으면 평평한 트리 버전을 반환하지만 Elements
현재 요소의 직계 자식 만 검색합니다.
반응형
'Programming' 카테고리의 다른 글
AF_INET이란 무엇이며 왜 필요한가요? (0) | 2020.05.23 |
---|---|
pthreads의 조건 변수 함수에 뮤텍스가 필요한 이유는 무엇입니까? (0) | 2020.05.23 |
브라우저 페이지 맨 위로 이동하는 방법 (0) | 2020.05.21 |
Laravel에 대한 파일 권한을 설정하는 방법은 무엇입니까? (0) | 2020.05.21 |
인터넷에 액세스 할 수없는 Android 에뮬레이터 (0) | 2020.05.21 |