1枚の画像をアップロードし、返ってきたデータを受信するまでできました。
しかし、複数しようとなると中々できませんでした。
単純にfor文をかけているのですが、どのようにすればよろしいでしょうか?
lines.lengthは画像の数です。
サーバは画像を1枚アップするごとに一つのXMLデータを返します。

// ローカル画像ディレクトリ
string img = dirResize;

// ブログAtompubAPIルートエンドURL
HttpWebRequest req = (HttpWebRequest)WebRequest.Create
    ("https://aaa/atompub/atomrootend");

req.Method = "POST";
req.Headers.Add("Authorization", "WSSE profile='UsernameToke'");
req.Headers.Add("X-WSSE", wsseHeader());
req.ContentType = "image/jpeg";
req.Timeout = 20000;

// ローカル画像をサーバにアップロード
using (Stream dataStream = req.GetRequestStream())
{
    for(int i = 0; i<lines.Length; i++)
    {
        using (FileStream fs = new FileStream
              (img+"\\"+(i+1)+".jpg", FileMode.Open, FileAccess.Read))
        {
            fs.CopyTo(dataStream);
        }
    }
}

//サーバーからの応答を受信するためのWebResponseを取得
HttpWebResponse res = (HttpWebResponse)req.GetResponse();

//応答データを受信するためのStreamを取得
Stream resStream = res.GetResponseStream();

//受信して表示
StreamReader sr =
    new StreamReader(resStream, enc);

// 受信するデータはXML形式
string content = sr.ReadToEnd();
xdoc.LoadXml(content);

// XMLにある画像ソースの画像URLだけを抽出
collect(xdoc, "content", "src", (val) => Console.WriteLine(val));
Console.WriteLine("content = " + content);

例えば2枚アップロードした時、この表示が正解
content = http://example.com/img/1.jpg
content = http://example.com/img/2.jpg

現在はこう
content = http://example.com/img/2.jpg