阅读 Xml 网络响应



我需要从响应网页中读取一些值 vb.net

当我转到url= 192.168.1.254/?custom=1&cmd=3014时我得到这个回应:

    This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Function>
<Cmd>2002</Cmd>
<Status>0</Status>
<Cmd>2003</Cmd>
<Status>0</Status>
<Cmd>2004</Cmd>
<Status>0</Status>
<Cmd>2006</Cmd>
<Status>0</Status>
<Cmd>2007</Cmd>
<Status>1</Status>
<Cmd>2008</Cmd>
<Status>0</Status>
<Cmd>2010</Cmd>
<Status>3</Status>
<Cmd>1004</Cmd>
<Status>0</Status>
<Cmd>1002</Cmd>
<Status>4</Status>
<Cmd>1005</Cmd>
<Status>0</Status>
<Cmd>1006</Cmd>
<Status>1</Status>
<Cmd>1007</Cmd>
<Status>0</Status>
<Cmd>1008</Cmd>
<Status>0</Status>
<Cmd>1009</Cmd>
<Status>0</Status>
<Cmd>2005</Cmd>
<Status>6</Status>
<Cmd>1011</Cmd>
<Status>0</Status>
<Cmd>3025</Cmd>
<Status>0</Status>
<Cmd>3026</Cmd>
<Status>1</Status>
<Cmd>3011</Cmd>
<Status>1</Status>
<Cmd>3010</Cmd>
<Status>1</Status>
<Cmd>3007</Cmd>
<Status>0</Status>
<Cmd>3003</Cmd>
<Status>1</Status>
<Cmd>3004</Cmd>
<Status>1</Status>
<Cmd>3008</Cmd>
<Status>0</Status>
</Function>

我需要一种方法来获取cmd ID和值。所以我可以知道单个函数的状态。

前任:

3003 - 0 我会知道旋转功能已关闭3004 - 1 我会知道函数日期已打开3008 - 4 我会知道正在使用什么分辨率

等等

等等。

我该怎么做?

一些入门的指针。 这演示如何从服务器下载 XML 作为字符串,然后使用 LINQ to XML 将其分析为匿名类型列表。 您需要制定适当的导入和选项(可能需要Option Infer On)。 您可以使用相同的DownloadString方法向服务器发出其他GET请求。 如果这是在某种 UI 中,您可能需要查看WebClient.DownloadStringTaskAsync以避免阻塞。

' Download the XML from the server
Dim wc = New WebClient()
Dim xmlString As String = wc.DownloadString("http://192.168.1.254/?custom=1&cmd=3014")
' Parse the XML into something more usable
Dim xml = XElement.Parse(xmlString)
Dim cmdStatus =
    From c In xml...<Cmd>
    Let s = DirectCast(c.NextNode, XElement)
    Select Cmd = c.Value, Status = s.Value
' Dump the value to the console - not sure what you want to do here
For Each cs In cmdStatus
    Console.WriteLine("Cmd: {0}, Status: {1}", cs.Cmd, cs.Status)
Next

最新更新