powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему XSD генернул неправильный класс?
5 сообщений из 5, страница 1 из 1
Почему XSD генернул неправильный класс?
    #39236081
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В файле xsd есть такой кусок

Код: xml
1.
2.
3.
4.
5.
6.
         <OtherCosts>
		<OtherCost>
			<CostType></CostType>
			<Amount></Amount>
		</OtherCost>
	</OtherCosts>



Генернул класс при помощи xsd.exe, получил такое

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private OtherCost[][] otherCostsField;
...

        [System.Xml.Serialization.XmlArrayItemAttribute(typeof(OtherCost), IsNullable=false)]
        public OtherCost[][] OtherCosts {
            get {
                return this.otherCostsField;
            }
            set {
                this.otherCostsField = value;
            }
        }



Но, по-моему, там одна пара скобок лишняя, то есть массив одномерный.
Иначе я не вижу как туда запихать двумерный массив, одномерный - да, от 0 до * .
В чем я не прав?
...
Рейтинг: 0 / 0
Почему XSD генернул неправильный класс?
    #39236296
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинВ файле xsd есть такой кусок

Код: xml
1.
2.
3.
4.
5.
6.
         <OtherCosts>
		<OtherCost>
			<CostType></CostType>
			<Amount></Amount>
		</OtherCost>
	</OtherCosts>


а это разве XSD?
...
Рейтинг: 0 / 0
Почему XSD генернул неправильный класс?
    #39236373
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Ролг ХупинВ файле xsd есть такой кусок

Код: xml
1.
2.
3.
4.
5.
6.
         <OtherCosts>
		<OtherCost>
			<CostType></CostType>
			<Amount></Amount>
		</OtherCost>
	</OtherCosts>


а это разве XSD?

да, это из хмл.

Вот:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...
  <element name="OtherCosts" type="ncq:OtherCosts" minOccurs="0" maxOccurs="unbounded"/>
...

<complexType name ="OtherCosts">
    <annotation>
      <documentation>Collection of other costsd</documentation>
    </annotation>
    <sequence>
      <element name="OtherCost" type="ncq:OtherCost" minOccurs="1" maxOccurs="unbounded" />
    </sequence>
  </complexType>
  <complexType name ="OtherCost">
    <annotation>
      <documentation>Details of other cost</documentation>
    </annotation>
    <sequence>
      <element name="CostType" type="ncq:String15_1" minOccurs="1" />
      <element name="Amount" type="ncq:Currency" minOccurs="1" />
    </sequence>
  </complexType>
...
Рейтинг: 0 / 0
Почему XSD генернул неправильный класс?
    #39236382
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все правильно: тип значение OtherCosts - это массив элементов типа ncq:OtherCosts, которые являются массивами элементов типа ncq:OtherCost. Вот и получается, что OtherCosts - массив массивов ncq:OtherCost.
...
Рейтинг: 0 / 0
Почему XSD генернул неправильный класс?
    #39237149
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VAlexeyВсе правильно: тип значение OtherCosts - это массив элементов типа ncq:OtherCosts, которые являются массивами элементов типа ncq:OtherCost. Вот и получается, что OtherCosts - массив массивов ncq:OtherCost.

да, прояснилось, спасибо. Я упустил, что OtherCosts 0-*
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему XSD генернул неправильный класс?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]