获取xml文件的标记名

获取xml文件的标记名,xml,vba,Xml,Vba,由于一个标记由数字组成,每次我想读取它时都会发生更改,但此代码不起作用,我在StrMyXml.nodeName(无效标识符)处收到一个错误。 目前我的代码是: Sub Create_XSD() Dim StrMyXml As String, MyMap As XmlMap Dim StrMySchema As String Dim tempString As String StrMyXml = "<Translate>" StrMyXml = StrMy

由于一个标记由数字组成,每次我想读取它时都会发生更改,但此代码不起作用,我在StrMyXml.nodeName(无效标识符)处收到一个错误。 目前我的代码是:

Sub Create_XSD()
   Dim StrMyXml As String, MyMap As XmlMap
   Dim StrMySchema As String
   Dim tempString As String
   StrMyXml = "<Translate>"
   StrMyXml = StrMyXml & "<Alarms>"
   tempString = StrMyXml.nodeName
   StrMyXml = StrMyXml & "<" & tempString & ">"
   StrMyXml = StrMyXml & "<Nummer>tempString</Nummer>"
   StrMyXml = StrMyXml & "<Nummer Diagnosename DE>tempString & Text</Nummer Diagnosename DE>"
   StrMyXml = StrMyXml & "<Nummer Diagnosename EN>tempString & Text</Nummer Diagnosename EN>"
   StrMyXml = StrMyXml & "</" & tempString & ">"
   StrMyXml = StrMyXml & "</Alarms>"
   StrMyXml = StrMyXml & "<Alarms></Alarms>"
   StrMyXml = StrMyXml & "</Translate>"
   ' Turn off async loading.
   Application.DisplayAlerts = False
   ' Add the string to the XmlMaps collection.
   Set MyMap = ThisWorkbook.XmlMaps.Add(StrMyXml)
   Application.DisplayAlerts = True

   ' Create an empty file and output the schema.
   StrMySchema = ThisWorkbook.XmlMaps(1).Schemas(1).XML
   Open "D:\Users\F512\Desktop\MySchema.xsd" For Output As #1
   Print #1, StrMySchema
   Close #1
End Sub
Sub-createxsd()
Dim StrMyXml作为字符串,MyMap作为XmlMap
作为字符串的Dim StrMySchema
将字符串设置为字符串
StrMyXml=“”
StrMyXml=StrMyXml&“
tempString=StrMyXml.nodeName
StrMyXml=StrMyXml&“
StrMyXml=StrMyXml&“tempString”
StrMyXml=StrMyXml&“tempString和Text”
StrMyXml=StrMyXml&“tempString和Text”
StrMyXml=StrMyXml&“
StrMyXml=StrMyXml&“
StrMyXml=StrMyXml&“
StrMyXml=StrMyXml&“
'关闭异步加载。
Application.DisplayAlerts=False
'将字符串添加到XmlMaps集合。
设置MyMap=ThisWorkbook.XmlMaps.Add(StrMyXml)
Application.DisplayAlerts=True
'创建一个空文件并输出架构。
StrMySchema=ThisWorkbook.XmlMaps(1).Schemas(1).XML
打开“D:\Users\F512\Desktop\MySchema.xsd”作为#1输出
打印#1,StrMySchema
关闭#1
端接头
感谢您的帮助


Laurenz

您已将StrMyXml标注为字符串:

Dim StrMyXml As String
但是你试着:

tempString = StrMyXml.nodeName

这不起作用,因为字符串没有这样的属性

您已将StrMyXml标注为字符串:

Dim StrMyXml As String
Dim StrMyXml作为字符串

但是你试着:

tempString = StrMyXml.nodeName
tempString=StrMyXml.nodeName


这不起作用,因为字符串没有这样的属性。

您的问题没有那么具体。。。请确切说明你在问什么我想读一个标签,如翻译或报警(检查上面的代码)。你有任何外部库引用?当我运行它时,我在“无效限定符”而不是标识符的
tempString=StrMyXml.nodeName上得到一个错误。StrMyXml是一个字符串,字符串没有
nodename
属性。我假设
tempString=StrMyXml.nodename
是一个输入错误-您打算从哪里获取要使用的标记号?您可能会看到这是我第一次使用vba。我以前读过这个网站: