0

我的应用程序将通过以下方式连续接收转储数据:

3c:73:3a:45:6e:76:65:6c:6f:70:65:20:78:6d:6c:6e:73:3a:73:3d:22:68:74:74:70: 3a:2f:2f:73:63:68:65:6d:61:73:2e:78:6d:6c:73:6f:61:70:2e:6f:72:67:2f:73:6f: 61:70:2f:65:6e:76:65:6c:6f:70:65:2f:22:3e:3c:73:3a:42:6f:64:79:20:78:6d:6c: 6e:73:3a:78:73:69:3d:22:68:74:74:70:3a:2f:2f:77:77:77:2e:77:33:2e:6f:72:67: 2f:32:30:30:31:2f:58:4d:4c:53:63:68:65:6d:61:2d:69:6e:73:74:61:6e:63:65:22: 20:78:6d:6c:6e:73:3a:78:73:64:3d:22:68:74:74:70:3a:2f:2f:77:77:77:2e:77:33: 2e:6f:72:67:2f:32:30:30:31:2f:58:4d:4c:53:63:68:65:6d:61:22:3e:3c:53:65:74: 4e:61:74:69:6f:6e:61:6c:4c:69:73:74:20:78:6d:6c:6e:73:3d:22:68:74:74:70:3a: 2f:2f:77:77:77:2e:6c:67:65:2e:63:6f:6d:2f:64:64:63:22:3e:3c:6e:61:74:69:6f: 6e:61:6c:4c:69:73:74:3e:3c:70:6f:72:74:6e:75:6d:62:65:72:3e:36:30:30:30:3c: 2f:70:6f:72:74:6e:75:6d:62:65:72:3e:3c:73:6c:61:76:65:61:64:64:72:65:73:73: 3e:37:30:30:30:3c:2f:73:6c:61:76:65:61:64:64:72:65:73:73:3e:3c:66:6c:61:67:7a:6f:6e:65:3e:32:3c:2f:66:6c:61: 67:7a:6f:6e:65:3e:3c:66:6c:61:67:69:6e:64:69:76:69:73:75:61:6c:3e:35:3c:2f: 66:6c:61:67:69:6e:64:69:76:69:73:75:61:6c:3e:3c:66:6c:61:67:64:69:6d:6d:69: 6e:67:3e:33:3c:2f:66:6c:61:67:64:69:6d:6d:69:6e:67:3e:3c:66:6c:61:67:70:61: 74:74:65:72:6e:3e:36:3c:2f:66:6c:61:67:70:61:74:74:65:72:6e:3e:3c:66:6c:61: 67:67:72:6f:75:70:3e:39:3c:2f:66:6c:61

这只是 ASCII 码

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SetNationalList xmlns="http://www.lge.com/ddc">
   <nationalList>
      <portnumber>6000</portnumber>
      <slaveaddress>7000</slaveaddress>
      <flagzone>2</flagzone>
      <flagindivisual>5</flagindivisual>
      <flagdimming>3</flagdimming>
      <flagpattern>6</flagpattern>
      <flaggroup>9</flaggroup>
    </nationalList>
</SetNationalList></s:Body></s:Envelope>

我基本上需要从端口号、从地址...标志组中获取值。

在 C# 中解析此类数据的最佳方法是什么?

4

2 回答 2

1

嗯,这基本上是一个xml结构。在 XDocument 对象 (http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx) 中解析此 xml 结构,然后对其进行一些查询。

看看 Linq to XML:http: //msdn.microsoft.com/en-us/library/bb387098.aspx

如果您不熟悉 LINQ,则可以使用 XPath 之类的东西

于 2012-08-13T08:39:49.667 回答
0

您可以将 XML 反序列化为一个对象,例如使用,XmlSerializer.Deserialize()或者您可以查看使用例如读取 XML 本身XmlDocument

于 2012-08-13T08:40:27.670 回答