XMLドキュメントをXDocumentオブジェクトにロードし、クエリを実行してから、Webサービスを介してXmlDocumentオブジェクトとしてデータを返します。
以下のコードは正常に機能しますが、少し臭いようです。クエリの結果を取得してXDocumentまたはXmlDocumentに戻すためのよりクリーンな方法はありますか?
XDocument xd = XDocument.Load(Server.MapPath(accountsXml));
var accounts = from x in xd.Descendants("AccountsData")
where userAccounts.Contains(x.Element("ACCOUNT_REFERENCE").Value)
select x;
XDocument xd2 = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Accounts")
);
foreach (var account in accounts)
xd2.Element("Accounts").Add(account);
return xd2.ToXmlDocument();