none
バイナリで取得したデータをXMLにしたい RRS feed

  • 質問

  • //ソケットで取得します

    int resSize = sock.Receive(resBytes, resBytes.Length, SocketFlags.None);

    //stringに変換します

    string xml = Encoding.UTF8.GetString(resBytes, 0, resSize);

    このxmlを

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(xml);←ここでエラー・・・パスを指定するものですから当然ですよねww

    xmlで受信するにはどうしたらよいでしょうか?

    2013年1月9日 15:53

回答

  • >xmlDoc.Load(xml);←ここでエラー・・・パスを指定するものですから当然ですよねww

    文字列から DOM を組み立てるメソッドがあります。

    xmlDoc.LoadXml(xml);

    >int resSize = sock.Receive(resBytes, resBytes.Length, SocketFlags.None);

    1回の Recieve() で、ほんとに全文読み取れてますか?


    2013年1月10日 2:06
    モデレータ

すべての返信

  • 変数xmlで取得した文字列は、XML形式になっているのですよね?

    でしたら、一度XMLファイルとして保存して、その保存したファイルを、xmlDoc.Loadで読み込むのではだめなのでしょうか?

    2013年1月9日 22:58
  • エラー内容を確認してください。
    2013年1月10日 1:32
  • >xmlDoc.Load(xml);←ここでエラー・・・パスを指定するものですから当然ですよねww

    文字列から DOM を組み立てるメソッドがあります。

    xmlDoc.LoadXml(xml);

    >int resSize = sock.Receive(resBytes, resBytes.Length, SocketFlags.None);

    1回の Recieve() で、ほんとに全文読み取れてますか?


    2013年1月10日 2:06
    モデレータ
  • 文字コードがUTF-8なのかもあるので、NetworkStreamクラスを作って、XmlDocument.Load メソッド (Stream)にすべきとかいろいろありますけど、何よりもエラーメッセージを読むことが肝心だと思います…。
    2013年1月10日 2:11
  • みなさん、ご回答ありがとうございました。

    xmlDoc.LoadXml(xml);

    これでできました。ありがとうございます。

    2013年1月10日 7:55