2

私のアプリケーションは、SharePoint Web サービスからデータを取得します (SOAP および CAML クエリを使用)。Xdocument ドキュメントを使用して、取得した xmlNode を格納し、xdocument を gridView にビン化された XMLDataSource に割り当てます。

ここで、要素 (ows_Partner_x0020_Type) が変数と一致するレコードのみを選択するために、バインドする前に Xdocument をフィルター処理する必要があります。

私はこのようにしようとしています:

doc = doc.Descendants(z + "row").Where(rows => rows.Attribute("ows_Partner_x0020_Type").Value == Partner_Type.SelectedValue);

また

var bar = doc.Descendants(z + "row").Where(rows => rows.Attribute("ows_Partner_x0020_Type").Value == Partner_Type.SelectedValue);

しかし問題は、上記のLINQの戻り値の型がSystem.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>

これは、doc.ToString() として XMLDataSource にバインドするために必要な形式である XDocument とはまったく異なります。

問題を説明できることを願っています。

よろしくお願いします。

ヴィシャール

4

1 に答える 1

4

これらの要素を含むドキュメントを作成しようとしているだけの場合は、次を使用できます。

XDocument filteredDocument = new XDocument(new XElement("root", bar));

(これにより、 のルート要素を持つドキュメントが作成<root>され、その直下に関心のあるすべての要素が含まれます。)

すべてのバインディング部分についてはよくわかりません-より良い代替手段があるかもしれないと強く思います-しかし、これは確かに新しいXDocument.

于 2013-11-14T18:35:58.687 に答える