0

以下は、私が求めているデータを含むサンプルxmlファイルです

<ns2:Response/">
<cacheKey>-7ca7484a:13e22cb1399:-47c0</cacheKey>
<cacheLocation>10.186.168.39:7302</cacheLocation>
</ns2:Response>

私は2つのクラスを持っています。1つはxmlデータを取得するためのクラスです。このクラスは、データを抽出する他の多くのクラスを持つ別のクラスにデータを渡します。

public static string GetXmlData()
{
    string xmlPath = "url";
    var wc = new WebClient();
    wc.Headers.Add(HttpRequestHeader.ContentType, "application/xml");
    wc.Headers.Add(HttpRequestHeader.Accept, "application/xml");
    var xmlData = wc.DownloadString(new Uri(xmlPath));

    var xmlDoc = XDocument.Parse(xmlData);

    return xmlDoc.ToString();
}

2番目のクラスには次のものがあります

public class GetCacheKey
{
    public string cacheKey { get; set; }
}

以下は私が問題を抱えている場所です:

public IEnumerable<GetCacheKey> CacheKey()
{
    var doc = XDocument.Parse(GetXMLData());
    var xkey = from c in doc.Descendants("Response")
                select new GetCacheKey()
                    {
                        cacheKey = (string)doc.Element("cacheKey").Value  
                    };

    return xkey;
}

デバッガーでは、Empty = "列挙は結果を生成しませんでした" を返します。

では、cacheKey の値を取得するにはどうすればよいでしょうか。

4

1 に答える 1