AI Hardware 만 있다면 완전...
예전 Photosynth 개발자들 인터뷰하는 걸 보는 듯... 그런 느낌입니다.
XBOX 조금후(다음이나 다다음 버전)에 사야겠다는 생각이 드는데요... ㅋㅋㅋ


좀 짱인듯... ^^
제 아이가 저정도 자라면 초대하겠습니다. ㅋㅋㅋ


죽이는데요...

행복한 하루되셔요...

woojja ))*
\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja
XML Document 만들기 부터 Node 접근까지...


간단한 것이지만...
뭐 그리 뚜렷하게 풀어 설명해 놓은 것도 없기에...
그렇다고 자세히 설명 하는 것은 아니지만...

조그만 프로그램을 하나 만들고

소스를 디버깅하면서 아하... 이렇게 접근을 하는 구나 라고 느끼실 수 있을 것 같습니다.

만들 프로그램... 역시 그리 대단하지 않습니다.


 


폼하나 여시고 버튼세개를 올립니다.

비하인드 코드창에는 

Imports System.Xml

를 추가합니다.

XML 을 사용할 것이니 당연하겠죠..

그리고 



<?xml version="1.0" encoding="euc-kr"?>
<Filters />

이런 Filters Root Entity만 들어가 있는 XML 파일을 하나 만듭니다.
그리고 'UserFilter.xml" 이라는 이름으로 저장을 하시고

어플폴더에 복사를 해 놓습니다.

그리고 차례로 버튼을 더블클릭하여 이벤트 코드를 만드시고
아래의 소스를 복사해서 넣습니다.


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        doc = New XmlDocument()

        If (Not System.IO.File.Exists("Filter.xml")) Then
            doc.Load("UserFilter.xml")
        Else
            doc.Load("Filter.xml")
        End If

    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 xeFilterName As XmlElement = doc.CreateElement("Name")

            Dim xeColumnFilters As XmlElement = doc.CreateElement("ColumnFilters")

            For j As Integer = 0 To 5 Step 1

                Dim xeColumnFilter As XmlElement = doc.CreateElement("ColumnFilter")
                Dim xaColumnName As XmlAttribute = doc.CreateAttribute("ColumnName")
                Dim xaLogicalOperation As XmlAttribute = doc.CreateAttribute("LogicalOperation")
                xaColumnName.InnerText = "CoumnName" + j.ToString()
                xaLogicalOperation.InnerText = "LogicalOperation" + j.ToString()
                xeColumnFilter.Attributes.Append(xaColumnName)
                xeColumnFilter.Attributes.Append(xaLogicalOperation)

                For i As Integer = 0 To 3 Step 1

                    Dim xeFilterCondition As XmlElement = doc.CreateElement("FilterCondition")
                    Dim xaComparisonOperator As XmlAttribute = doc.CreateAttribute("ComparisonOperator")
                    Dim xaCompareValue As XmlAttribute = doc.CreateAttribute("CompareValue")
                    xaComparisonOperator.InnerText = "ComparisonOperator" + i.ToString()
                    xaCompareValue.InnerText = "CompareValue" + i.ToString()
                    xeFilterCondition.Attributes.Append(xaComparisonOperator)
                    xeFilterCondition.Attributes.Append(xaCompareValue)

                    xeColumnFilter.AppendChild(xeFilterCondition)
                Next

                xeColumnFilters.AppendChild(xeColumnFilter)
            Next
            xeFilter.AppendChild(xeFilterName)
            xeFilterName.InnerText = "woojja" + k.ToString()

            xeFilter.AppendChild(xeColumnFilters)

            root.AppendChild(xeFilter)

        Next
        doc.Save("Filter.xml")

    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']")
        xmlColumnFilterList = root.SelectNodes("Filter[Name='woojja1']/ColumnFilters")
        xmlColumnFilterList = root.SelectNodes("Filter[Name='woojja1']/ColumnFilters/ColumnFilter")

        For Each columnFilterNode As XmlNode In xmlColumnFilterList

            Dim strColumnName As String = columnFilterNode.Attributes("ColumnName").Value
            Dim strLogicalOperation As String = columnFilterNode.Attributes("LogicalOperation").Value

            Dim filterConditionList As XmlNodeList = columnFilterNode.SelectNodes("FilterCondition")

            For Each filterConditionNode As XmlNode In filterConditionList

                Dim strComparisonOperator As String = filterConditionNode.Attributes("ComparisonOperator").Value
                Dim strCompareValue As String = filterConditionNode.Attributes("CompareValue").Value
            Next
        Next
    End Sub


흑... 복사해 놓고 보니 토나올것 같군요... ㅡㅡ'

코드창에 복사해 넣으면 그리 나쁘진 않습니다.

그리고 위 빨갛게 칠해 놓은 부분에 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 다루는 예제를 찾고 있었는데 많은 도움이 되었습니다. 감사해요 ^^












저작자 표시 비영리 변경 금지
신고
Posted by woojja

“PRotocole d’Echanges Standard et Ouvert” (PRESTO) Starter Kit for the Microsoft .NET Framework v3.0

.net 30을 공부하려는 개발자를 위한 walkthroughs 라고 합니다.

열심히 공부합시다. 


행복한 고수되셔요... 


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
Posted by woojja

이제야 올리네요... ^^'

Microsoft .NET Framework 3.5 June 2007 Community Technology Preview (CTP)


3.0 도 책만 긁적이고 있는데 3.5까지... ㅡㅡ'

공부 열심 안해도 먹고 살수 있는 방법 없을까요?

근데... 제가 그 거 알면 할 수 있을까요? ㅡㅡ' 

그 방법 익히느니 계속 열심히 하는게 낫겠죠?

뭐든 걍 열심히 가는 거죠 뭐...


형님 그냥 가 보는 거예요... 쭈~~욱. ^^



행복한 고수되셔요...


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
정성태 2007-07-25 오후 10:50:59
참고로, ^^ .NET 3.5 6월 CTP 버전을 포함한 VS.NET 2008 June CTP 도 나오긴 했습니다만, 일부 베타 테스터들(저를 포함 ^^) 에게만 공개된 상태입니다.
Reply Delete
woojja 2007-07-25 오후 11:57:03
후하~~ (^^)=b

정책임님 짱 ~!












저작자 표시 비영리 변경 금지
신고
Posted by woojja


이데일리에서 퍼왔습니다.

`MS 6년만의결실`..테이블보컴퓨터공개


 
입력 : 2007.05.31 02:59


[뉴욕=이데일리김기성특파원] `컴퓨터는진화한다. 상자모양의컴퓨터시대는이제끝났다`

30일(현지시간) 월스트리저널(WSJ) 후원으로캘리포니아칼스배드에서열린 기술컨퍼런스에서마이크로소프트부터실리콘밸리 IT업체들까지새로운형태의컴퓨터를대거전시했다.

특히마이크로소프트가빌게이츠회장의주문으로지난 6년동안심혈을기울여탄생시킨테이블보모양의컴퓨터(사진)는최대관심대상으로꼽히고있다.

이컴퓨터는터치스크린방식을채택하고있으며사진을진열하고게임을즐길수있는등의기능을담고있다.

마이크로소프는올해말공식판매에들어갈예정이다. 초기에는호텔과카지노용이주류를이룰것으로전망된다.

라이브스크라이브(Livescribe)는음성녹음을문서화할수있는펜모양의컴퓨터를내놓았다.

팜(Palm)은이회사가새로운분야라고말하는휴대기기를공개할예정이다. 아직까지알려진것은거의없지만전문가들은팜의종전제품보다다소크고무선네트워킹기능을포함하고있을것으로예상하고있다.

이번컨퍼런스전시회에선보인제품들은컴퓨터모양을바꾸기위한업체들의크고작은시도에비하면일부분에불과하다. 예를들어휴렛패커드의터치스마트는키보드없이요리법이나전화번호를찾을수있는등의기능을가진부엌용으로고안됐다. 가격은 1800달러다.

WSJ은특히컴퓨터운영체제(OS)와마이크로프로세서시장에서각각거의독점적지위를갖고있는마이크로소프트와인텔이이같은컴퓨터의새로운용도및디자인개발에박차를가하고있다고전했다.













저작자 표시 비영리 변경 금지
신고
Posted by woojja
이전버튼 1 이전버튼

티스토리 툴바