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 構造です。この xml 構造を XDocument オブジェクト (http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx) で解析し、クエリを実行します。

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 に答える