Имя: Пароль:
1C
1С v8
ФабрикаXDTO. ЗаписатьXML
,
0 Zixxx
 
17.12.13
18:43
Есть схема

[code]
<xs:schema xmlns:tns="http://www.sample-package.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://www.sample-package.org"; attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:complexType name="DeltaDataset">
        <xs:sequence>
            <xs:element name="Order">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ISN" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
[/code]

XML получается следующего вида

[code]
<DeltaDataset xmlns="http://www.sample-package.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;
    <Order>
        <ISN>120010000566769</ISN>
    </Order>
</DeltaDataset>
[/code]

Как убрать из xml строку "xmlns:tns="http://www.sample-package.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://www.sample-package.org"; attributeFormDefault="unqualified" elementFormDefault="qualified""

Нужен вариант на этапе ЗаписиXML. СтрЗаменить() естественно не подходит
1 Fragster
 
модератор
17.12.13
18:55
а что, на той стороне такой кривой парсер, что не может валидный XML по схеме рахобрать?
2 Fragster
 
модератор
17.12.13
18:57
кстати, в схеме типы вижу, а описание элементов - нет
3 etc
 
17.12.13
19:01
(2) у него вложенные описания. Это как если в пакете ТипОбъекта добавлять не отдельным описанием типа а прямо под элементом.
4 Zixxx
 
17.12.13
19:01
(1) Там они в тип Dataset переводят, пока не знаю нормально он у них парсит или нет, жду ответа. Но явно замечено что если не указывать текст который я хочу убрать, то ответ от сервиса приходит гораздо позже, т.е. что-то он там обрабатывает.
(2) Получается что при ЗаписатьXML если типы указаны в схеме то в xml их нет, а если не указать в схеме то в xml они будут.
5 etc
 
17.12.13
19:02
(0) нет такой возможности.
6 etc
 
17.12.13
19:05
(0) Либо составляй XML "вручную" через ЗаписатьНачалоЭлемента() и т.д. Тогда будет так как тебе нужно.
7 Serginio1
 
17.12.13
19:06
Можешь попробовать ФабрикаXDTO.записатьXML(
ФабрикаXDTO (XDTOFactory)
ЗаписатьXML (WriteXML)
Синтаксис:

ЗаписатьXML(<ЗаписьXML>, <Элемент>, <ЛокальноеИмя>, <URIПространстваИмен>, <Форма>, <УказаниеТипа>)
Параметры:

<ЗаписьXML> (обязательный)

Тип: ЗаписьУзловDOM, ЗаписьFastInfoset, ЗаписьXML.
Объект записи XML.
<Элемент> (обязательный)

Тип: ЗначениеXDTO; ОбъектXDTO; Неопределено.
Записываемое значение.
<ЛокальноеИмя> (необязательный)

Тип: Строка.
Локальное имя записываемого элемента данных.
<URIПространстваИмен> (необязательный)

Тип: Строка.
URI пространства имен записываемого элемента данных.
<Форма> (необязательный)

Тип: ФормаXML.
8 Zixxx
 
17.12.13
21:05
(7) Так я так и делаю
9 Serginio1
 
18.12.13
10:29
(8) Я имел ввиду поиграться с
Поиграться с параметрами
ФабрикаXDTO.записатьXML(ЗаписьХМЛ,Элемент,"","",,НазначениеТипаXML.НеЯвное);
10 Fragster
 
модератор
18.12.13
11:54
(9) не, не получится так