LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  XML-формат...
 XML-формат
 
 01.12.2010 23:35:27
АлексБ
24 сообщения


XML-формат

Как программно создать XML-файл и выгрузить в него данные?

 08.12.2010 19:28:48
Admin1
731 сообщения
1-ый


Re: XML-формат
 Измененный Admin1  на 08.12.2010 19:30:45)

1. Ссылку на xml поставить Microsoft XML, v 3.0. Вот примеры  кода
   Dim xmlDoc As New DOMDocument
   Dim RootNode As IXMLDOMElement
   Dim Node As IXMLDOMElement


   xmlDoc.loadXML "<root></root>"
   Set RootNode = xmlDoc.selectSingleNode("root")

  
   Set Node = xmlDoc.createNode("element", "test", "")
   RootNode.appendChild Node

   xmlDoc.Save strFile

 12.12.2010 16:30:57
АлексБ
24 сообщения


Re: XML-формат

А если формат файла чуть посложнее, например:

<?xml version = '1.0' encoding='UTF-8'?>
<database xsi:noNamespaceSchemaLocation='schema.xsd'
xmlns:xsi='http://www.aaa.org/100/XMLSchema-instance'>
      <info>
            <type>Тип</type>
            <date>2010-11-30</date>
            <location>Контора</location>
      </info>
      <types period='2010-05'>
             <row>
                  <date1>2010-05-30</date1>
                  <kod>xsi:nil='true'</kod>
                  <text1>КАКОЙ-ТО ТЕКСТ</text1>
                  <chislo>5</chislo>
             </row>
             <row>
                  <date1>2010-03-12</date1>
                  <kod>4</kod>
                  <text1>КАКОЙ-ТО ТЕКСТ</text1>
                  <chislo>7</chislo>
             </row>
      </types>
</database>

где атрибут "xsi:nil='true'" должно быть помещен в тело тэга в случае отсутствия значения тэга.

<?xml version = '1.0' encoding='UTF-8'?> - как создается эта строка?
Особенно интересует вложенность тэгов...

И если можно на данном примере...

 14.12.2010 17:11:44
Admin1
731 сообщения
1-ый


Re: XML-формат

1. xmlDoc.loadXML "<?xml version = '1.0' encoding='UTF-8'?><root></root>"
2. xsi:nil='true' - это не атрибут тега, а его значение. Атрибут это когда данные находятся внутри скобок <>. Например, <product id=2>Товар 2</product> id - атрибут, Товар 2 - значение. Есть также еще мемо поля они предназначены для хранения любых текстов. Лучше у объектной модели XML прочитать документацию, немного функций и все станет понятно сразу.

 14.12.2010 23:21:47
АлексБ
24 сообщения


Re: XML-формат

Спасибо.

Но есть еще несколько вопросов по XML:

1. В строке <kod>xsi:nil='true'</kod> я ошибся, т.е. нужно так <kod xsi:nil='true' /kod>. Т.е. в данном случае "xsi:nil='true'" - атрибут (не так ли?) и должно быть помещен в тело тэга в случае отсутствия значения тэга. Как это сделать? Т.е. как получить строку <kod xsi:nil='true' /kod> в случае когда значение kod = ""?

2. Как получить строку

<database xsi:noNamespaceSchemaLocation='schema.xsd'
xmlns:xsi='http://www.aaa.org/100/XMLSchema-instance'>

где database - самый верхний уровень (см. пример выше)?

3. Чем отличается и чем лучше пользовать при создании элементов:

   Set Node = xmlDoc.createNode("element", "test", "")
   RootNode.appendChild Node

или

    Set type_node = info_node.ownerDocument.createElement("type")
    info_node.appendChild type_node
    type_node.appendChild database_node.ownerDocument.createTextNode(Type)

  Программирование  Microsoft Access. Файлы mdb и accdb  XML-формат...
ПоискПоиск  Список форумовСписок форумов  
right