Экспорт XML
GAS1979
Дата: Четверг, 12.05.2016, 10:33 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Есть исходный XML [vba]Код
<?xml version="1.0" encoding="utf-8"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Я произвожу импорт XML в Эксель. Подключаю карту XSD, которую сгенерил автомотически [vba]Код
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="produceSchemes"> <xs:complexType> <xs:sequence> <xs:element name="product" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="scheme"> <xs:complexType> <xs:sequence> <xs:element name="material"> <xs:complexType> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="attachments" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="cost" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
[/vba] После делаю экспорт XML, и у меня выходит повторение продукта: [vba]Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Т.е. если вложение в продукт более 1 (например Продукт4, у него 2 материала), то происходит дублирование. Как я понимаю, не верно настроена карта, но как ее исправить, что бы экспортированный файл был похож на исходный. [moder]Вложите пример из трех файлов: файл excel xml до и после. Без примера сложно понять что не так.[/moder]
Есть исходный XML [vba]Код
<?xml version="1.0" encoding="utf-8"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Я произвожу импорт XML в Эксель. Подключаю карту XSD, которую сгенерил автомотически [vba]Код
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="produceSchemes"> <xs:complexType> <xs:sequence> <xs:element name="product" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="scheme"> <xs:complexType> <xs:sequence> <xs:element name="material"> <xs:complexType> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="attachments" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="cost" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
[/vba] После делаю экспорт XML, и у меня выходит повторение продукта: [vba]Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Т.е. если вложение в продукт более 1 (например Продукт4, у него 2 материала), то происходит дублирование. Как я понимаю, не верно настроена карта, но как ее исправить, что бы экспортированный файл был похож на исходный. [moder]Вложите пример из трех файлов: файл excel xml до и после. Без примера сложно понять что не так.[/moder] GAS1979
Сообщение отредактировал SLAVICK - Четверг, 12.05.2016, 11:19
Ответить
Сообщение Есть исходный XML [vba]Код
<?xml version="1.0" encoding="utf-8"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Я произвожу импорт XML в Эксель. Подключаю карту XSD, которую сгенерил автомотически [vba]Код
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="produceSchemes"> <xs:complexType> <xs:sequence> <xs:element name="product" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="scheme"> <xs:complexType> <xs:sequence> <xs:element name="material"> <xs:complexType> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="attachments" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="type" type="xs:string"></xs:attribute> <xs:attribute name="cost" type="xs:int"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
[/vba] После делаю экспорт XML, и у меня выходит повторение продукта: [vba]Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <produceSchemes> <product type="prod1" cost="100"> <scheme name="Продукт1"> <material type="prod5" attachments="3"/> </scheme> </product> <product type="prod2" cost="200"> <scheme name="Продукт2"> <material type="prod5" attachments="4"/> </scheme> </product> <product type="prod3" cost="300"> <scheme name="Продукт3"> <material type="prod5" attachments="5"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> </scheme> </product> <product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod6" attachments="7"/> </scheme> </product> </produceSchemes>
[/vba] Т.е. если вложение в продукт более 1 (например Продукт4, у него 2 материала), то происходит дублирование. Как я понимаю, не верно настроена карта, но как ее исправить, что бы экспортированный файл был похож на исходный. [moder]Вложите пример из трех файлов: файл excel xml до и после. Без примера сложно понять что не так.[/moder] Автор - GAS1979 Дата добавления - 12.05.2016 в 10:33
mathiax90
Дата: Четверг, 12.05.2016, 11:07 |
Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Кодом поделитесь?
webmoney: R242692021885 ЯД:410013877261817
Ответить
Сообщение Кодом поделитесь? Автор - mathiax90 Дата добавления - 12.05.2016 в 11:07
GAS1979
Дата: Четверг, 12.05.2016, 11:19 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Вот все файлы. Там и Исходник, и карта, и экспортированный и эксель
Вот все файлы. Там и Исходник, и карта, и экспортированный и эксельGAS1979
Ответить
Сообщение Вот все файлы. Там и Исходник, и карта, и экспортированный и эксельАвтор - GAS1979 Дата добавления - 12.05.2016 в 11:19
mathiax90
Дата: Четверг, 12.05.2016, 11:55 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
И ради интереса зачем вы это делаете? Внести изменения и выгрузить в XML? Или какие-то другие причины?
И ради интереса зачем вы это делаете? Внести изменения и выгрузить в XML? Или какие-то другие причины? mathiax90
webmoney: R242692021885 ЯД:410013877261817
Ответить
Сообщение И ради интереса зачем вы это делаете? Внести изменения и выгрузить в XML? Или какие-то другие причины? Автор - mathiax90 Дата добавления - 12.05.2016 в 11:55
mathiax90
Дата: Четверг, 12.05.2016, 11:57 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" /> Т.е. программа автоматом создаёт еще одну строку продукта (которая в будующем станет элементов), потому что не может засунуть два значения материала в одну ячейку. И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций?
Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" /> Т.е. программа автоматом создаёт еще одну строку продукта (которая в будующем станет элементов), потому что не может засунуть два значения материала в одну ячейку. И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций? mathiax90
webmoney: R242692021885 ЯД:410013877261817
Сообщение отредактировал mathiax90 - Четверг, 12.05.2016, 12:01
Ответить
Сообщение Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" /> Т.е. программа автоматом создаёт еще одну строку продукта (которая в будующем станет элементов), потому что не может засунуть два значения материала в одну ячейку. И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций? Автор - mathiax90 Дата добавления - 12.05.2016 в 11:57
GAS1979
Дата: Четверг, 12.05.2016, 12:01 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" />
Продукт может содержать от одного до нескольких десятков материалов. В Экселе моделирование расчетных показателей и внесение изменений в калькуляцию, после выгрузка обратно в XML для загрузки в программу (она только mxl принимает) Ручное изменение, там несколько сотен записей, которые собой.
Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" />
Продукт может содержать от одного до нескольких десятков материалов. В Экселе моделирование расчетных показателей и внесение изменений в калькуляцию, после выгрузка обратно в XML для загрузки в программу (она только mxl принимает) Ручное изменение, там несколько сотен записей, которые собой.GAS1979
Ответить
Сообщение Двоится мне кажется потому, что дважды указывается тип материала <material type="prod5" attachments="6" /> <material type="prod6" attachments="7" />
Продукт может содержать от одного до нескольких десятков материалов. В Экселе моделирование расчетных показателей и внесение изменений в калькуляцию, после выгрузка обратно в XML для загрузки в программу (она только mxl принимает) Ручное изменение, там несколько сотен записей, которые собой.Автор - GAS1979 Дата добавления - 12.05.2016 в 12:01
GAS1979
Дата: Четверг, 12.05.2016, 12:03 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций?
С помощью стандартных кнопок управления - "Разработчик" - "XML" - "импорт/экспорт"
И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций?
С помощью стандартных кнопок управления - "Разработчик" - "XML" - "импорт/экспорт"GAS1979
Ответить
Сообщение И еще напишите как вы делаете импорт экспорт. С помощью кода или с помощью стандартных функций?
С помощью стандартных кнопок управления - "Разработчик" - "XML" - "импорт/экспорт"Автор - GAS1979 Дата добавления - 12.05.2016 в 12:03
mathiax90
Дата: Четверг, 12.05.2016, 12:05 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Что вы думаете по моему ответу?
webmoney: R242692021885 ЯД:410013877261817
Ответить
Сообщение Что вы думаете по моему ответу? Автор - mathiax90 Дата добавления - 12.05.2016 в 12:05
GAS1979
Дата: Четверг, 12.05.2016, 12:11 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Что вы думаете по моему ответу?
Как я понимаю, он должен выгрузить как вложенный элемент: [vba]Код
<product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product>
[/vba] Т.е. Продукт4 содержит в себе материалы prod5 и prod6
Что вы думаете по моему ответу?
Как я понимаю, он должен выгрузить как вложенный элемент: [vba]Код
<product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product>
[/vba] Т.е. Продукт4 содержит в себе материалы prod5 и prod6GAS1979
Ответить
Сообщение Что вы думаете по моему ответу?
Как я понимаю, он должен выгрузить как вложенный элемент: [vba]Код
<product type="prod4" cost="400"> <scheme name="Продукт4"> <material type="prod5" attachments="6"/> <material type="prod6" attachments="7"/> </scheme> </product>
[/vba] Т.е. Продукт4 содержит в себе материалы prod5 и prod6Автор - GAS1979 Дата добавления - 12.05.2016 в 12:11
mathiax90
Дата: Четверг, 12.05.2016, 12:18 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Уточните в файлах примерах какая XML для импорта, а какая XML была получена экспортом. Сообразил работаю. Странно. У меня при импорте строка <material type="prod6" attachments="7"/> вообще пропадает. Т.е. получается четыре продукта всего. При экспорте этой таблицы. Имею на выходе 4 продукта и четыре типа материала, т.е. данные пропадают. Сейчас пытаю эту ошибку:невозможно сохранить отношения сопоставленного элемента Не знаю получиться что нибудь или нет. Невозможно экспортировать карты XML в книге Карту XML не удастся [утверждение ] экспортировать, если невозможно сохранить отношения сопоставленного элемента с другими элементами. Отношение может не сохраниться по следующим причинам. Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами: атрибут maxoccurs не равен 1; Таким образом простой экспорт вам не поможет. Нужен скрипт.
Уточните в файлах примерах какая XML для импорта, а какая XML была получена экспортом. Сообразил работаю. Странно. У меня при импорте строка <material type="prod6" attachments="7"/> вообще пропадает. Т.е. получается четыре продукта всего. При экспорте этой таблицы. Имею на выходе 4 продукта и четыре типа материала, т.е. данные пропадают. Сейчас пытаю эту ошибку:невозможно сохранить отношения сопоставленного элемента Не знаю получиться что нибудь или нет. Невозможно экспортировать карты XML в книге Карту XML не удастся [утверждение ] экспортировать, если невозможно сохранить отношения сопоставленного элемента с другими элементами. Отношение может не сохраниться по следующим причинам. Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами: атрибут maxoccurs не равен 1; Таким образом простой экспорт вам не поможет. Нужен скрипт. mathiax90
webmoney: R242692021885 ЯД:410013877261817
Сообщение отредактировал mathiax90 - Четверг, 12.05.2016, 12:58
Ответить
Сообщение Уточните в файлах примерах какая XML для импорта, а какая XML была получена экспортом. Сообразил работаю. Странно. У меня при импорте строка <material type="prod6" attachments="7"/> вообще пропадает. Т.е. получается четыре продукта всего. При экспорте этой таблицы. Имею на выходе 4 продукта и четыре типа материала, т.е. данные пропадают. Сейчас пытаю эту ошибку:невозможно сохранить отношения сопоставленного элемента Не знаю получиться что нибудь или нет. Невозможно экспортировать карты XML в книге Карту XML не удастся [утверждение ] экспортировать, если невозможно сохранить отношения сопоставленного элемента с другими элементами. Отношение может не сохраниться по следующим причинам. Определение схемы сопоставленного элемента содержится в последовательности со следующими атрибутами: атрибут maxoccurs не равен 1; Таким образом простой экспорт вам не поможет. Нужен скрипт. Автор - mathiax90 Дата добавления - 12.05.2016 в 12:18
GAS1979
Дата: Четверг, 12.05.2016, 12:53 |
Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Не знаю получиться что нибудь или нет.
Да вот и я уже весь интернет перерыл, не могу понять, где может быть ошибка. Может есть решение проще, через макрос? Только как это сделать, я вообще не представляю, ни когда не пробовал макросом что либо выгружать во внешние файлы.
Не знаю получиться что нибудь или нет.
Да вот и я уже весь интернет перерыл, не могу понять, где может быть ошибка. Может есть решение проще, через макрос? Только как это сделать, я вообще не представляю, ни когда не пробовал макросом что либо выгружать во внешние файлы.GAS1979
Ответить
Сообщение Не знаю получиться что нибудь или нет.
Да вот и я уже весь интернет перерыл, не могу понять, где может быть ошибка. Может есть решение проще, через макрос? Только как это сделать, я вообще не представляю, ни когда не пробовал макросом что либо выгружать во внешние файлы.Автор - GAS1979 Дата добавления - 12.05.2016 в 12:53
mathiax90
Дата: Четверг, 12.05.2016, 12:59 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация:
24
±
Замечаний:
0% ±
Excel 2007
Ответ дан выше. Думал успею до следующего поста.
Ответ дан выше. Думал успею до следующего поста. mathiax90
webmoney: R242692021885 ЯД:410013877261817
Ответить
Сообщение Ответ дан выше. Думал успею до следующего поста. Автор - mathiax90 Дата добавления - 12.05.2016 в 12:59
doober
Дата: Четверг, 12.05.2016, 14:19 |
Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация:
323
±
Замечаний:
0% ±
Excel 2010
Думал успею до следующего поста.
Нет. Макрос создает файл test рядом с книгой
Думал успею до следующего поста.
Нет. Макрос создает файл test рядом с книгойdoober
Ответить
Сообщение Думал успею до следующего поста.
Нет. Макрос создает файл test рядом с книгойАвтор - doober Дата добавления - 12.05.2016 в 14:19
GAS1979
Дата: Четверг, 12.05.2016, 14:25 |
Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Макрос создает файл test рядом с книгой
Ага, спасибо, на примере работает. Пойду разбираться в макросе.
Макрос создает файл test рядом с книгой
Ага, спасибо, на примере работает. Пойду разбираться в макросе.GAS1979
Ответить
Сообщение Макрос создает файл test рядом с книгой
Ага, спасибо, на примере работает. Пойду разбираться в макросе.Автор - GAS1979 Дата добавления - 12.05.2016 в 14:25