는 여러 개의 값을 선택할 수 있도록하는 선택 필드 (AllowMultiple
가 true)가 SenseNet의 내용 정의 (CTD)가 있습니다. XML 정의는 다음과 같습니다여러 선택 사항이 선택된 SenseNet에 컨텐츠를 가져올 수없는 이유는 무엇입니까?
<Field name="Status" type="Choice">
<DisplayName>Status</DisplayName>
<Configuration>
<AllowMultiple>true</AllowMultiple>
<Options>
<Option>In Processing</Option>
<Option>In Review</Option>
<Option>Tabled</Option>
<Option>Pending Verification</Option>
<Option>Approved</Option>
</Options>
</Configuration>
</Field>
내가 선택한 여러 옵션으로 데이터를 내보낼,이 필드의 XML 출력 ;
(세미콜론 + 공간)과 선택 옵션을 구분하고 다음과 같은 :
<Status>Pending Verification; Approved</Status>
내 보낸 데이터를 가져 오려고하면 InvalidExtraValue
오류가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
이 코드는 쓰레기입니다. 왜 문자열을리스트으로 변환하고 싶습니까? 왜 때로는 객체가 문자열이되고 다른 경우가 될 것입니다. List 실제 문제는 수입 메소드가 세미콜론을 html 특수 문자의 일부라고 생각한다는 것입니다. 참조 : https://www.google.com/search?q=wiki+xml+html+special+characters&rlz=1C1OPRA_enUS563US647&oq=wiki+xml+html+special+characters&aqs=chrome..69i57.15711j0j7&sourceid=chrome&ie=UTF-8 –
jdweng
코드는 사용자가 원하는만큼 쉽게 읽을 수는 없지만 소스에서 나오는 코드와 거의 같습니다. 이러한 경우 함수의 동작을 변경하지 않는 것이 필수적이며, 이는 사용자가보고있는 것입니다. SenseNet Content 모델을 이해했다면 왜 문자열, IEnumerable 또는 List 일 수있는 객체 매개 변수를 사용해야하는지 알 수 있습니다. 문제에 대한 의심이 잘못되었습니다. 서면으로 작성된 코드는 문제를 해결합니다. –
대답은 ok입니다. 다른 유형 변환은 sensenet과 관련되어 있으며, 의도적으로 설계되었습니다. 세 번째 옵션은 옵션 값 (ctd의 속성)을 사용하는 것입니다.그렇게하면 동시에 사람이 읽을 수있는 옵션 텍스트와 옵션 값을 공백없이 사용할 수 있습니다. –