我正在使用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>
它将返回“调查”这正是我需要做的。
我现在想要做的是让用户选择从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
(返回 '的xs:元素')
OR 代码:
(返回 '元素')
我需要做些什么才能在此行XSD中返回“调查”: 代码:
<xs:element name="Survey">
在此先感谢!