VB.NET에서 XML 처리하기

2023. 4. 13. 10:19VB.NET/왕초보

VB.NET에서 XML 처리는 매우 중요한 기술 중 하나입니다. XML은 데이터 저장과 교환에 매우 유용한 형식이며, VB.NET에서도 XML 데이터를 쉽게 처리할 수 있습니다. 이번 글에서는 VB.NET에서 XML 처리를 위한 방법과 예제 코드를 소개하겠습니다.

 

XML 기초

XML은 Extensible Markup Language의 약어로, 마크업 언어 중 하나입니다. XML은 데이터의 구조와 의미를 정의하는 태그와 속성으로 이루어져 있으며, 데이터를 표현하는 데 사용됩니다. 예를 들어, 다음과 같은 XML 코드는 사용자 정보를 포함하고 있습니다.

<user>
    <name>홍길동</name>
    <email>hong@example.com</email>
    <age>15</age>
</user>

위의 코드에서 <user>는 사용자 정보를 감싸는 최상위 요소입니다. 그 아래에는 name, email, age 등의 하위 요소들이 있습니다. 이러한 구조는 데이터를 읽고 쓰는 데 유용합니다.

XML 파일 읽기

VB.NET에서 XML 파일을 읽는 방법은 매우 간단합니다. System.Xml 네임스페이스에서 제공하는 XmlDocument 클래스를 사용하면 됩니다. XmlDocument 클래스는 XML 파일의 내용을 로드하여 메모리에 저장하는 역할을 합니다. 다음은 XML 파일을 읽고 출력하는 예제 코드입니다.

Dim xmlDoc As New XmlDocument()
xmlDoc.Load("data.xml")

Dim users As XmlNodeList = xmlDoc.SelectNodes("/users/user")
For Each user As XmlNode In users
    Console.WriteLine("Name: " & user.SelectSingleNode("name").InnerText)
    Console.WriteLine("Email: " & user.SelectSingleNode("email").InnerText)
    Console.WriteLine("Age: " & user.SelectSingleNode("age").InnerText)
Next

위의 코드에서 XmlDocument 클래스의 Load 메서드를 사용하여 data.xml 파일을 로드합니다. XmlNodeList 클래스를 사용하여 /users/user 경로의 모든 요소를 선택합니다. 그리고 각 요소의 하위 요소를 선택하여 출력합니다.

XML 파일 쓰기

XML 파일을 쓰는 것도 매우 간단합니다. XmlDocument 클래스에서 제공하는 CreateElement 메서드와 CreateAttribute 메서드를 사용하여 XML 요소와 속성을 만들 수 있습니다. 만들어진 XML 요소들은 XmlDocument 클래스의 AppendChild 메서드를 사용하여 최상위 요소에 추가할 수 있습니다. 다음은 XML 파일을 쓰는 예제 코드입니다.

Dim xmlDoc As New XmlDocument()
Dim rootNode As XmlNode = xmlDoc.CreateElement("users")
xmlDoc.AppendChild(rootNode)

Dim userNode As XmlNode = xmlDoc.CreateElement("user")
Dim nameAttr As XmlAttribute = xmlDoc.CreateAttribute("name")
nameAttr.Value = "John Doe"
userNode.Attributes.Append(nameAttr)

Dim nameNode As XmlNode = xmlDoc.CreateElement("name")
nameNode.InnerText = "John Doe"
userNode.AppendChild(nameNode)

Dim emailNode As XmlNode = xmlDoc.CreateElement("email")
emailNode.InnerText = "john.doe@example.com"
userNode.AppendChild(emailNode)

Dim ageNode As XmlNode = xmlDoc.CreateElement("age")
ageNode.InnerText = "30"
userNode.AppendChild(ageNode)

rootNode.AppendChild(userNode)
xmlDoc.Save("data.xml")

위의 코드에서 `XmlDocument` 클래스의 `CreateElement` 메서드와 `CreateAttribute` 메서드를 사용하여 XML 요소와 속성을 만듭니다. 그리고 `AppendChild` 메서드를 사용하여 요소와 속성을 최상위 요소에 추가합니다. 마지막으로 `Save` 메서드를 사용하여 XML 파일을 저장합니다.

LINQ to XML

VB.NET에서 XML을 처리하는 데 사용되는 또 다른 방법은 LINQ to XML입니다. LINQ to XML은 XML 데이터를 LINQ 쿼리로 처리할 수 있게 해주는 기술입니다. LINQ to XML를 사용하면 VB.NET 코드에서 XML 데이터를 더 쉽게 처리할 수 있습니다.

다음은 LINQ to XML를 사용하여 XML 파일을 읽는 예제 코드입니다.

Dim xmlDoc As XDocument = XDocument.Load("data.xml")

Dim users As IEnumerable(Of XElement) = _
    From user In xmlDoc.Descendants("user") _
    Select user

For Each user As XElement In users
    Console.WriteLine("Name: " & user.Element("name").Value)
    Console.WriteLine("Email: " & user.Element("email").Value)
    Console.WriteLine("Age: " & user.Element("age").Value)
Next

위의 코드에서 XDocument 클래스의 Load 메서드를 사용하여 data.xml 파일을 로드합니다. 그리고 LINQ to XML을 사용하여 user 요소를 선택하고 각 요소의 하위 요소를 출력합니다.

마치며...

이번 글에서는 VB.NET에서 XML 처리하는 방법과 예제 코드를 소개했습니다. XML은 데이터 교환에 매우 유용한 형식이며, VB.NET에서도 쉽게 처리할 수 있습니다. 이번 글을 통해 XML 데이터를 읽고 쓰는 방법을 익혀보세요.

 

관련글 : 2023.02.21 - [VB.NET/MS-SQL] - [VB.NET] 차근차근 MS-Access DB 연결후 사용법

 

[VB.NET] 차근차근 MS-Access DB 연결후 사용법

VB.NET을 업무용으로 사용할때는 일반적으로 MS-SQL을 사용하는 경향이 강하지만, 개인용이나 과제, 레포트용으로 사용할때는 사실 Access만 있어도 충분하다. Db에 연결하는 방법, SQL Query문을 사용

chakhani.tistory.com

 

반응형