다음을 통해 공유


XElement 및 XDocument 개체의 유효한 콘텐츠(LINQ to XML)

이 문서에서는 생성자에 전달할 수 있는 유효한 인수와 요소 및 문서에 콘텐츠를 추가하는 데 사용하는 메서드에 대해 설명합니다.

XElement 생성자에 유효한 형식

쿼리는 종종 XElementIEnumerable<T> 또는 XAttributeIEnumerable<T>로 평가됩니다. XElement 또는 XAttribute 개체의 컬렉션을 XElement 생성자에 전달할 수 있습니다. 따라서 쿼리 결과를 XML 트리를 채우는 데 사용하는 메서드 및 생성자에 콘텐츠로 전달하는 것이 편리합니다.

간단한 콘텐츠를 추가할 때 다음을 비롯한 다양한 형식을 이 메서드에 전달할 수 있습니다.

복잡한 콘텐츠를 추가할 때 다음을 비롯한 다양한 형식을 이 메서드에 전달할 수 있습니다.

개체가 IEnumerable<T>구현하는 경우 개체의 컬렉션이 열거되고 컬렉션의 모든 항목이 추가됩니다. 컬렉션에 XNode 또는 XAttribute 개체가 포함된 경우 컬렉션의 각 항목이 별도로 추가됩니다. 컬렉션에 텍스트(또는 텍스트로 변환되는 개체)가 포함되어 있으면 컬렉션의 텍스트가 연결되고 단일 텍스트 노드로 추가됩니다.

콘텐츠가 null경우 아무 것도 추가되지 않습니다. 컬렉션을 전달할 때 컬렉션의 항목이 null될 수 있습니다. 컬렉션의 null 항목은 트리에 영향을 주지 않습니다.

추가된 특성은 포함된 요소 내에 고유한 이름이 있어야 합니다.

XNode 또는 XAttribute 개체를 추가할 때 새 콘텐츠에 부모가 없는 경우 개체는 단순히 XML 트리에 연결됩니다. 새 콘텐츠가 이미 부모이고 다른 XML 트리의 일부인 경우 새 콘텐츠가 복제되고 새로 복제된 콘텐츠가 XML 트리에 연결됩니다.

XDocument 생성자에 유효한 형식

특성 및 단순 콘텐츠는 문서에 추가할 수 없습니다.

시나리오 중에 XDocument를 만들어야 하는 경우는 많지 않습니다. 대신 일반적으로 XElement 루트 노드를 사용하여 XML 트리를 만들 수 있습니다. 문서를 만들기 위한 특정 요구 사항이 없는 경우(예: 최상위 수준에서 처리 지침 및 주석을 만들어야 하거나 문서 형식을 지원해야 하기 때문에) XElement 루트 노드로 사용하는 것이 더 편리합니다.

XDocument 생성자에 유효한 형식은 다음과 같습니다.

  • 0 또는 1개의 XDocumentType 개체입니다. 문서 형식은 요소 앞에 와야 합니다.
  • 0개 또는 1개 요소입니다.
  • 주석이 0개 이상
  • 0개 이상의 처리 지침입니다.
  • 공백만 포함하는 텍스트 노드가 0개 이상입니다.

콘텐츠를 추가하기 위한 생성자 및 함수

다음 메서드를 사용하면 XElement 또는 XDocument에 자식 콘텐츠를 추가할 수 있습니다.

메서드 설명
XElement XElement을(를) 생성합니다.
XDocument XDocument생성합니다.
Add XElement 또는 XDocument자식 콘텐츠의 끝에 추가합니다.
AddAfterSelf XNode뒤의 콘텐츠를 추가합니다.
AddBeforeSelf XNode앞에 콘텐츠를 추가합니다.
AddFirst XContainer자식 콘텐츠의 시작 부분에 콘텐츠를 추가합니다.
ReplaceAll XElement의 자식 노드 및 특성을 포함한 모든 콘텐츠를 대체합니다.
ReplaceAttributes XElement의 속성을 변경합니다.
ReplaceNodes 자식 노드를 새 콘텐츠로 바꿉니다.
ReplaceWith 노드를 새 콘텐츠로 대체합니다.

참고 항목