Я использую Access/VBA, чтобы позволить пользователю загружать XML-файл для создания структуры базы данных. Это текущий код у меня есть, что будет правильно дать мне имя _MAP мне нужно для выполнения более поздних шагов для загрузки данных XML в базу данных из XLS/XML overlay'd файлов: Код:VBA Определить элемент XSD «Имя»
Dim myFolder As String
Form_frmImportSurveyData.txtFile.SetFocus
myDir = Form_frmImportSurveyData.txtFile.Text
Dim xmlDom As New DOMDocument
xmlDom.Load (myDir)
xmlMap = xmlDom.DocumentElement.nodeName
Этот код дает мне имя родительского узла, что мне нужно ... например со структурой XML в Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Survey xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Surveyor></Surveyor>
<Date></Date>
<Cascade></Cascade>
.......
</Survey>
он будет возвращать «Survey», которая является то, что мне нужно это делать.
Теперь я хочу, чтобы пользователи могли создавать структуру базы данных из файла схемы XML (.XSD), чтобы поля базы данных лучше (даты/времени) и т. Д. Создавались вместо всех текстовые поля и т.д. Что мне нужно знать, как сделать то, что я перечисленных выше с извлечением файла XSD вместо файла XML ... мой XSD код выглядит следующим образом: код:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Survey">
<xs:complexType>
<xs:sequence>
<xs:element name="Surveyor" type="xs:string" />
<xs:element name="Date" type="xs:date" />
<xs:element name="Cascade" />
.....
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Если я использую текущая строка в коде vba у меня есть сейчас: Код:
xmlMap = xmlDom.DocumentElement.nodeName
и изменить его: Код:
xmlDom.DocumentElement.FirstChild.nodeName
('хз: элемент' возвращает)
ИЛИ Код:
('элемент' возвращает)
Что мне нужно сделать для того, чтобы «Survey» вернулась в эту строку XSD: Код:
<xs:element name="Survey">
Заранее благодарен!