|
Запись XML по схеме XSD без типов
| ☑ |
0
xLokkIx
03.03.13
✎
18:44
|
Есть схема
<xsd:element name="verification">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="idx" type="xsd:string"/>
<xsd:element name="status" type="xsd:string"/>
<xsd:element name="order_id" type="xsd:int"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="product" nillable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="product" type="xsd:string"/>
<xsd:element name="feature" type="xsd:string"/>
<xsd:element name="quantity" type="xsd:int"/>
<xsd:element name="price" type="xsd:float"/>
<xsd:element name="amount" type="xsd:float"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Как прочитать XML по такой схеме разобрался. А вот как записать? Запись с использование XDTO полностью построена на именах типов, а у меня их нет...
|
|
1
Fragster
гуру
03.03.13
✎
18:52
|
Там у корневого свойства есть Тип() и Свойства[n].Тип()... дальше сам думай. хотя переписать схему дело трех минут
|
|
2
xLokkIx
03.03.13
✎
18:54
|
Не совсем понял откуда взять корневое свойство.
Схему лучше не трогать, она не только в 1С используется, и там все отлично выходит с ней.
|
|
3
Fragster
гуру
03.03.13
✎
18:56
|
(2) ну так фабрику по схеме же создал? у нее есть пакеты, в них есть всё
|
|
4
xLokkIx
03.03.13
✎
18:59
|
Не все так просто. У нее всего один пакет и тот "http://www.w3.org/2001/XMLSchema". А в нем ничего моего нет
|
|
5
xLokkIx
03.03.13
✎
19:19
|
Вопрос снят.
Фабрика = СоздатьФабрикуXDTO(путьКСхеме);
вернул схему с двумя пакетами в отличии от
СхемаXML = Новый СхемаXML;
СхемаXML.РасположениеСхемы = путьКСхеме;
СхемыXML = Новый НаборСхемXML;
СхемыXML.Добавить(СхемаXML);
Фабрика = Новый ФабрикаXDTO(СхемыXML)
|
|