ФабрикаXDTO по свойству пакета XDTO.
Есть XML-схема:
Что бы создать xml-файл делаю следующее:
и в результате получаю:
Как сделать чтобы тег "PurchaseOrderType" был "PurchaseOrder"?
Или чтобы создание фабрики XDTO начиналось не с типа "PurchaseOrderType", а с свойства пакета "PurchaseOrder" который в схеме прописан как "<xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>"
Т.е. я хочу начинать с своего элемента который указан в xml-схеме, а не по типу.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd"
targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd"
elementFormDefault="qualified">
<xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
<xsd:complexType name="PurchaseOrderType">
<xsd:sequence>
<xsd:element name="ShipTo" type="tns:USAddress" maxOccurs="2"/>
<xsd:element name="BillTo" type="tns:USAddress"/>
</xsd:sequence>
<xsd:attribute name="OrderDate" type="xsd:date"/>
</xsd:complexType>
<xsd:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:integer"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
</xsd:complexType>
</xsd:schema>
ПоказатьЧто бы создать xml-файл делаю следующее:
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Users\USER\Desktop\test_1.xml", "windows-1251");
ЗаписьXML.ЗаписатьОбъявлениеXML();
PurchaseOrderTypeXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://tempuri.org/PurchaseOrderSchema.xsd", "PurchaseOrderType"));
// %Код который обробатывает дочерние элементы%
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, PurchaseOrderTypeXDTO);
ЗаписьXML.Закрыть();
Показатьи в результате получаю:
<?xml version="1.0" encoding="windows-1251"?>
<PurchaseOrderType xmlns="http://tempuri.org/PurchaseOrderSchema.xsd" xmlns:xsв="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
// %дочерние элементы%
</PurchaseOrderType>
Как сделать чтобы тег "PurchaseOrderType" был "PurchaseOrder"?
Или чтобы создание фабрики XDTO начиналось не с типа "PurchaseOrderType", а с свойства пакета "PurchaseOrder" который в схеме прописан как "<xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>"
Т.е. я хочу начинать с своего элемента который указан в xml-схеме, а не по типу.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
А начать именно с элемента, а не с типа както-то можно?
Потому то в записи
вместо "PurchaseOrder" можно вообще что угодно написать... как-то не по стандарту. Для этого специально в xml-схеме пишут корневой элемент.
А начать именно с элемента, а не с типа както-то можно?
Потому то в записи
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, PurchaseOrderTypeXDTO, "PurchaseOrder","http://tempuri.org/PurchaseOrderSchema.xsd");
вместо "PurchaseOrder" можно вообще что угодно написать... как-то не по стандарту. Для этого специально в xml-схеме пишут корневой элемент.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот