[VB.NET] XML 접근하기 ...
간단한 것이지만...
뭐 그리 뚜렷하게 풀어 설명해 놓은 것도 없기에...
그렇다고 자세히 설명 하는 것은 아니지만...
조그만 프로그램을 하나 만들고
소스를 디버깅하면서 아하... 이렇게 접근을 하는 구나 라고 느끼실 수 있을 것 같습니다.
만들 프로그램... 역시 그리 대단하지 않습니다.
폼하나 여시고 버튼세개를 올립니다.
비하인드 코드창에는
Imports System.Xml |
를 추가합니다.
XML 을 사용할 것이니 당연하겠죠..
그리고
<?xml version="1.0" encoding="euc-kr"?> <Filters /> |
이런 Filters Root Entity만 들어가 있는 XML 파일을 하나 만듭니다.
그리고 'UserFilter.xml" 이라는 이름으로 저장을 하시고
어플폴더에 복사를 해 놓습니다.
그리고 차례로 버튼을 더블클릭하여 이벤트 코드를 만드시고
아래의 소스를 복사해서 넣습니다.
doc = New XmlDocument() If (Not System.IO.File.Exists("Filter.xml")) Then End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim root As XmlNode = doc.DocumentElement For k As Integer = 0 To 2 Step 1 Dim xeFilter As XmlElement = doc.CreateElement("Filter") Dim xeColumnFilters As XmlElement = doc.CreateElement("ColumnFilters") For j As Integer = 0 To 5 Step 1 Dim xeColumnFilter As XmlElement = doc.CreateElement("ColumnFilter") For i As Integer = 0 To 3 Step 1 Dim xeFilterCondition As XmlElement = doc.CreateElement("FilterCondition") xeColumnFilter.AppendChild(xeFilterCondition) xeColumnFilters.AppendChild(xeColumnFilter) xeFilter.AppendChild(xeColumnFilters) root.AppendChild(xeFilter) Next End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim root As XmlNode = doc.DocumentElement Dim xmlColumnFilterList As XmlNodeList = root.SelectNodes("Filter[Name='woojja1']") For Each columnFilterNode As XmlNode In xmlColumnFilterList Dim strColumnName As String = columnFilterNode.Attributes("ColumnName").Value Dim filterConditionList As XmlNodeList = columnFilterNode.SelectNodes("FilterCondition") For Each filterConditionNode As XmlNode In filterConditionList Dim strComparisonOperator As String = filterConditionNode.Attributes("ComparisonOperator").Value |
흑... 복사해 놓고 보니 토나올것 같군요... ㅡㅡ'
코드창에 복사해 넣으면 그리 나쁘진 않습니다.
그리고 위 빨갛게 칠해 놓은 부분에 BreakPoint 를 거신후에..
버튼 1, 2, 3번을 차례로 클릭합니다.
1번에서 에러나시는 분들... 꼭있습니다.
걍 적당히 xml 파일을 이동시켜 놓으세요. ㅋㅋㅋ (알아서 좀 하세요.)
버튼 2번은 내용은 잘 보시면 XML 의 Element와 Attribute 를 어떻게 추가하는지 아실 수있습니다.
그리고 버튼 3번은 Element 와 Attribute 를 어떻게 접근하는 지 아실 수 있는데...
BreakPoint 를 찍으라는 이유는...
root.SelectNodes("Filter[Name='woojja1']")
root.SelectNodes("Filter[Name='woojja1']/ColumnFilters")
root.SelectNodes("Filter[Name='woojja1']/ColumnFilters/ColumnFilter")
XPath 를 어떻게 사용할 수 있는지 사용방법을 보시라고...
역시 허접한 정리였습니다.
부디 행복한 고수되셔요...
woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Root 2008-04-22 오전 10:18:20 |
비주얼베이직에서 XML 다루는 예제를 찾고 있었는데 많은 도움이 되었습니다. 감사해요 ^^ |