2012-03-11 3 views
1
<SampleType xmlns="xxx:yyy:zzz"> 
    <Timestamp xmlns="aaa:bbb:ccc">2012-03-07T04:47:07Z</Timestamp> 
    <Ack xmlns="aaa:bbb:ccc">Success</Ack> 
    <CorrelationID xmlns="aaa:bbb:ccc">ef1ee378dd51</CorrelationID> 
    <EncryptionDetails xsi:type="ns:MEPEncryptionDetailsType"> 
     <Type xsi:type="xs:string">SHA1</Type> 
     <Key xsi:type="xs:string"></Key> 
    </EncryptionDetails> 
</SampleType> 

Когда я попытался десериализации этот XML, я получил следующее сообщение об ошибке «„XSI“является необъявленная пространства имен.» Как я могу это исправить?Как десериализации следующий XML в Silverlight в C#

+0

Попробуйте найти строку 'xmlns: xsi' где-нибудь. Возможно, это определено в начале полного XML-документа. – vorrtex

ответ

0

Вы должны убедиться, что ваш XML-файл содержит определение псевдонима пространства имен xsi. Добавьте в корневой элемент следующий атрибут XML:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+0

Я не могу контролировать ответ tho. Я понял это, используя класс XMLReaderSetting. Благодарю. – sunxin8086

+0

@ sunxin8086: Тогда вам нужно иметь слова с людьми, которые имеют «контроль над ответом» и сообщают им, что отправляемый XML неприемлем. Они не должны включать неопределенный xml: ns alais. Единственный другой вариант - настроить строку xml перед ее загрузкой. – AnthonyWJones

Смежные вопросы