2012-03-30 2 views
0

읽기 :HTML GET 나는 내 웹 사이트에서 XML 데이터를 얻기 위해 다음 코드를 사용하고 XML

Dim strUrl As String = "http://www.xxx.net/mobileApp/checker.asp" 
    Dim reader As XmlTextReader = New XmlTextReader(strUrl) 

    Do While (reader.Read()) 
     Select Case reader.NodeType 
     Case XmlNodeType.Text 'Display the text in each element. 
       Console.WriteLine(reader.Value) 
     End Select 
    Loop 
Console.ReadLine() 

내 XML 파일은 다음과 같다 :

<mobileApp> 
    <jobid>513220</jobid> 
    <ncdid>02132265</ncdid> 
    <ncddescript>blah blah and more blah</ncddescript> 
</mobileApp> 

문제의 존재가 있다는 것입니다, 그것은 태그 안에 텍스트를 보여 주지만, 나는 태그 이름을 찾기 위해 찾고있다. 그리고 항상 동일한 순서로 항상 데이터에 의존하는 대신 텍스트와 관련된 텍스트를 얻는다. 내가 무엇을 찾고의

예 :

case tags 
    "jobid" 
     msgbox "jobid is " & tags.jobid.value 
etc.... 

어떤 도움이 좋을 것!

감사합니다.

답변

1

XMLTextReader가 파일을 순차적으로 읽으므로 요소 이름이 값 바로 앞에 표시됩니다. 문자열 변수에서 그것을 추적하고 그것으로부터 당신의 케이스를 선택하십시오.

Dim strElementName As String = String.Empty 

    Do While (reader.Read()) 

     If reader.NodeType = XmlNodeType.Element Then 

      strElementName = reader.Name 

     ElseIf reader.NodeType = XmlNodeType.Text Then 

      Select Case strElementName 

       Case "jobid" 

        'Do Work 

      End Select 

     End If 

    Loop 
+0

굉장하고 감사합니다. NoAliea! :영형) – StealthRT

1

XML 파일에 매번 동일한 요소 집합이 있으면 XPath를 사용하여 특정 요소에 대해 XML 파일을 쿼리 한 다음 각 요소의 값을 출력 할 수 있습니다. 같은 뭔가 :

Dim strUrl As String = "http://www.xxx.net/mobileApp/checker.asp" 
Dim XPathDoc As New XPathDocument(New XmlTextReader(strUrl)) 
Dim Nav As XPathNavigator = XPathDoc.CreateNavigator() 

'Query for jobid element 
Dim JobIDElem As XPathNodeIterator = Nav.SelectSingleNode("./mobileApp/jobid") 
MsgBox("JobID is " & JobIDElem.Value) 

그냥 당신이 원하는 요소를 선택 SelectSingleNode에 검색 문자열을 변경하려면 다른 요소를 얻으려면.

관련 문제