2014-05-01 8 views
1

이 문제에 대해 지원되는 Sitecore 지원 티켓이 있지만이 문제도 경험 한 다른 사람을 얻을 수 있기를 바랍니다. 나도 SelectSingleItem 또는를 GetItem 실행하고 모든 속성 (@@ ID 또는 @@ 이름)를 포함 할 때 기본적으로Sitecore 쿼리는 속성을 사용할 때 null을 반환합니다.

?db.SelectSingleItem("/sitecore/content/Www/Data/Recruiting/Metadata/Companies/00000001/*[@@name='0000001873']") 
null 
?db.SelectSingleItem("/sitecore/content/Www/Data/Recruiting/Metadata/Companies/00000001/*") 
0000001873 (en#[email protected]), id: {1848E256-E7C2-4BFC-9AF7-72EE14E37C82} 
Database: "web" 
Id: "{1848E256-E7C2-4BFC-9AF7-72EE14E37C82}" 
Language: "en" 
Name: "0000001873" 
Version: "1" 

, 내가 얻을 : 내 sitecore 6.6 인스턴스를 디버깅하는 동안 다음

내 직접 실행 창에서 출력 null가 리턴되었습니다. 그러나 필터링 속성을 제거하면 결과 집합이 생깁니다. 필터없이 얻은 결과 집합은 목록의 첫 번째 항목이며 @@ name 특성을 사용하여 검색하는 항목이기도합니다.

이 결과는 코드에서만 얻을 수 있습니다. xPath 디자이너를 사용하여 결과를 얻습니다.

답변

1

비슷한 문제가 발생하여 이름이 숫자 0부터 시작되는 폴더가되었습니다. 나는 Sitecore가 쿼리를 구문 분석하는 방식에 잠재적 인 문제가 될 수 있다고 생각하여 훨씬 더 자세히 살펴 보지 않았습니다. 다음과 같이 폴더 이름을 이스케이프 처리하십시오.

/sitecore/content/Www/Data/Recruiting/Metadata/Companies/#00000001#/*[@@name='0000001873'] 
+0

Sitecore 지원부가 결국 위의 쿼리에 대해 말한 것과 정확히 일치합니다. 그러나 궁극적 인 문제는 SelectSingleItem 대신 GetItem을 사용한다는 것입니다. 경로에 특성이 포함되어 있기 때문입니다. –

관련 문제