は、私は以下のソリューションを同じ問題を抱えていたと見られますこれはあなたのコードが(現在の)の文脈で実行されているので機能しません。そして、コードパスで実行され
/サイトコア/コンテンツ/ ShrinersHospital2/CareAndTreatmentクエリで
あなたはパスから検索するサイトコアを伝える上
/サイトコア/コンテンツ/ ShrinersHospital2/CareAndTreatment/sitecore/content/ShrinersHospital2/CareAndTreatment
これは0を返しますパスが存在しないため、結果としてmsを返します。
は、次のクエリを試してみてください:あなたが「ウェブ」にデータベースを切り替えると
string query = "//*[@@templatename = 'CareAndTreatmentType' and @TreatmentType = '{ECDBE944-99DE-4347-8FA2-6613FA85402C}']";
Item[] items = Sitecore.Context.Database.SelectItems(query);
、あなたはコンテキストを持っていないし、あなたの「開始」パスは/です。パスが
/サイトコア/コンテンツ/ ShrinersHospital2/CareAndTreatment
string query = "/sitecore/content/ShrinersHospital2/CareAndTreatment//*[@@templatename = 'CareAndTreatmentType' and @TreatmentType = '{ECDBE944-99DE-4347-8FA2-6613FA85402C}']";
var database = Sitecore.Configuration.Factory.GetDatabase("web");
items = database.SelectItems(query);
が存在するため、そして、以下のコードは、クエリでのアイテムを返します。