• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 814
  • Last Modified:

Parsing an XML file in ASP - error

I'm trying to parse a XML file in ASP. I have provided my code and I get the following error msg:

"XML parse error: Errorcode: -1072896682 Reason: Invalid at the top level of the document. Line: 1 Filepos: 0 URL: "

I have tried 3 different XML files and all get the same error and they all have a top level.

I can't provide the XML files as the information is confidential but I can give a sample of the structure:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
  <node1>
    <node1_1>text</node1_1>  
    <node1_2>text</node1_2>  
  </node1>
</Root>


Where could my problem be? Is it this line?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Any help appreciated.

function XML_OpenXMLFile( byRef oFSO, byRef sFilePath, bUnicode, byRef oXMLDoc, byRef sErrorMessage )
 
	dim sPhysicalPath, oTS, bHasFSO, sXML
	
	XML_OpenXMLFile = false
	
	bHasFSO = isObject( oFSO )
	
	if not bHasFSO then set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
 
	sPhysicalPath = PhysicalPath( sFilePath )
	if not oFSO.FileExists( sPhysicalPath ) then sErrorMessage = "The file """ & sFilePath & """ (" & sPhysicalPath & ") is not found!" : exit function
 
	set oTS = oFSO.OpenTextFile( sPhysicalPath, 1, false, Conditional( bUnicode, -1, 0 ) )
	sXML = oTS.ReadAll()
	oTS.Close()
	set oTS = nothing
 
	if not bHasFSO then set oFSO = nothing
	
	set oXMLDoc = Server.CreateObject("MSXML2.DOMDocument")
	oXMLDoc.async = false
	oXMLDoc.resolveExternals = false
	oXMLDoc.preserveWhiteSpace = true
	oXMLDoc.loadXML sXML
 
	if oXMLDoc.parseError.errorCode <> 0 then
		sErrorMessage = "Error parsing original XML file: " & XML_GetParseError( oXMLDoc )
		exit function
	end if
	
	XML_OpenXMLFile = true
end function

Open in new window

0
mc_101
Asked:
mc_101
  • 2
1 Solution
 
sybeCommented:
I believe that node-names should be all lowercase. So in stead of <Root> you'd need <root>
0
 
mc_101Author Commented:
Doesn't change anything, still the same problem even with all nodes being lower case.
0
 
sybeCommented:
But why don't you let the oXMLDoc open the file directly? No need to use FSO. Maybe the FSO part is messing something up

<%
Set oXMLDoc = Server.CreateObject("MSXML2.DOMDocument")
oXMLDoc.load(sFilePath)
%>

Open in new window

0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now