c# xdocument 예제

이제 문자 길이가 6과 같은 제품 이름을 얻는 실제 예제를 살펴보겠습니다. 이전 방법론으로 우리는 일반적으로 모든 요소를 반복하고 길이가 6인지 여부를 확인합니다. 그러나 이제 LINQ의 도움으로 우리는 매우 간단한 쿼리로 그것을 할 수 있습니다. 예상대로 이 예제에서는 다음과 같은 출력을 생성합니다. 이 기사를 통해 LINQ에서 XML로 수행할 수 있는 작업의 표면을 긁으려고 시도했습니다. LINQ to XML은 놀라운 API이며 이 예제 집합이 이를 입증했으면 합니다. C# 및 VB.NET 문서의 전체 소스를 여기(Github)에서 다운로드할 수 있습니다. 이제 이 쿼리는 XElement에 뿌리를 둔 트리의 쿼리와 동일한 방식으로 수행됩니다. 이 예제에서는 XDocument, XElement 또는 XAttribute를 사용하려면 코드에 System.Xml.Linq 네임스페이스를 포함해야 합니다. 우리는 예를 하나 하나 모든 포인트를 볼 수 있습니다. XDocument부터 시작해 보겠습니다. 위의 시나리오는 잘 형성된 XML 데이터가 있는 경우입니다.

XML 데이터에 대한 아이디어가 없다면 어떨까요? myXML에 일부 잘못된 형식의 xml 데이터가 포함된 경우 XmlException이 발생합니다. 주어진 모든 예제에서 다른 생성자가 있는 많은 옵션이 있습니다. 나는 생성자의 일부만 다룰 것입니다. 사용 가능한 모든 생성자에 대한 정보를 얻기 위해 MSDN을 참조할 수 있습니다. 동일한 쿼리가 세 개의 자식 노드 대신 하나의 루트 노드를 반환했습니다. 이 항목에서는 XElement, XAttribute 및 XNode에 대해 다룹니다. xml의 주요 부분은 요소 및 귀속입니다. 예4: 제품 이름이 6자리와 동일한 요소를 가져옵니다VB.NET 코드는 C#을 사용하여 변환 도구를 VB.NET 위해 번역되었습니다. LINQ to XML은 표준 쿼리 연산자, 프로그래밍 인터페이스 등과 같은 모든 LINQ 기능에 쉽게 액세스할 수 있습니다. .NET 프레임워크에 통합된 LINQ to XML은 디버깅, 컴파일 타임 검사, 강력한 타이핑 및 더 많은 말과 같은 .NET 프레임워크 기능을 최대한 활용합니다.

XDocument.Load를 통해 문서를 로드하면 XElement.Load를 통해 로드할 때와 약간 다르게 쿼리를 작성해야 합니다. 계층 구조에 요소를 추가하고 요소를 제거하는 데 도움이 될 수있는 다른 많은 방법이 있습니다. 우리는 또한 xdoc와 함께 xml 문서를 저장할 수 있습니다. 저장(파일 이름) 메서드입니다. 이 정보가 XDocument로 시작하기에 충분하기를 바랍니다. 이제 XML 문서의 두 가지 주요 부분, 즉 XElement, XAttribute를 살펴보겠습니다. 이 기사를 읽은 후에는 전문가가 아니지만 적어도 LINQ 및 XML로 작업을 시작하는 데 도움이됩니다. LINQ 및 XML에 대한 모든 이해를 완료하면 이 기능으로 복잡한 문제를 해결할 수 있습니다. XML을 알고 있다고 가정합니다. 그래서 기본 XML 요소, 속성을 다루지 않을 것입니다.

XML을 사용해야 하는 위치와 이유에 대해 알고 있기를 바랍니다. XElement.Load를 통해 XELEMENT.Load를 통해 XELEMENT에 XML 문서를 로드하면 XML 트리의 루트에 있는 XElement에는 로드된 문서의 루트 요소가 포함됩니다. 그러나 XDocument.Load를 통해 동일한 XML 문서를 XDocument.Load에 로드하면 트리의 루트는 XDocument 노드이고 로드된 문서의 루트 요소는 XDocument의 허용된 자식 XElement 노드입니다. LINQ에서 XML축으로의 LINQ 축은 루트 노드를 기준으로 작동합니다. 당신이 볼 수 있듯이 우리는 우리의 xml 목록에 하나의 새로운 제품을 추가했습니다. 문자열 값에서 xml 데이터를 구문 분석하는 경우 우리는 또한 파일에서 xml 데이터를로드 할 수 있습니다. XDocument.Load는 파일에서 xml 데이터를 로드하는 데 사용할 수 있는 방법입니다.