dataudtræk fra xml
HejVha. en DTS pakke på en SQL Server 2000 forsøger jeg at trække data ud fra en xml fil.
xml filen ser således ud (lidt forenklet):
<?xml version="1.0" encoding="utf-8"?>
<nitf>
<head>
<meta name="subject" content="My subject" />
<meta name="category" content="My category" />
</head>
<body>My body</body>
</nitf>
Jeg kan med nedenstående kode godt hente data fra <body>, men problemet er at tilgå <meta> - jeg har behov for at kunne spørge på <meta name="subject"> specifikt og hente content ud herfra. Kan det lade sig gøre?
Min kode:
'**********************************************************************
' Visual Basic ActiveX Script
'************************************************************************
Function main()
CONST strFilesPath = "C:\Dataimport\saxoxml"
CONST adOpenKeyset = 1
CONST adLockOptimistic = 3
'*******************************************
Dim objFSO
Dim objFolder
Dim objFilesColl
Dim iFilesCount
Dim objFile
Dim objXMLDOM
Dim objNodes
Dim objNodeItem
Dim objADORS
Dim objADOCnn
Dim strCurFileName
'Create MSXML 4.0 DOM Object and initialize it
Set objXMLDOM = CreateObject("MSXML2.DOMDocument")
objXMLDOM.async = False
objXMLDOM.validateOnParse = False
'Get a list of files in the specified directory
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFilesPath)
Set objFilesColl = objFolder.Files
For Each objFile in objFilesColl
strCurFileName = strFilesPath & "\" & objFile.Name
'Load the XML file
objXMLDOM.load strCurFileName
Set objNodes = objXMLDOM.selectNodes("/nitf")
'Add records
For Each objNodeItem In objNodes
MsgBox(objNodeItem.selectSingleNode("head/meta").nodeTypedValue)
MsgBox(objNodeItem.selectSingleNode("body").nodeTypedValue)
Next
Next
Set objXMLDOM = Nothing
Set objFSO = Nothing
main = DTSTaskExecResult_Success
End Function