Hey Everyone, I'm trying to make a program that parses XML data and puts it into Text Boxes.
I've gotten it all coded and don't get any error messages, but I always get "???" displayed in my text boxes. I can't figure out what I coded wrong.
Please Help! I need to have this figured out by tomorrow.
Here's the code:Code:Option Explicit Dim xml_document As New DOMDocument60 Dim value_node As IXMLDOMNode Dim objX As New MSXML2.DOMDocument60 Dim parentNode As IXMLDOMNode Dim strFileRoot As String Private Sub LoadValue(xmlDoc As String) xml_document.Load xmlDoc If xml_document.documentElement Is Nothing Then Dim strErrText As String Dim xPE As MSXML2.IXMLDOMParseError Set xPE = objX.parseError With xPE strErrText = "Your XML Document failed to load" & _ "due to the following error." & vbCrLf & _ "Error #:" & .errorCode & ":" & .reason & _ "Line #:" & .Line & vbCrLf & _ "Line Position" & .linepos & vbCrLf & _ "Position in File:" & .filepos & vbCrLf & _ "Source Text:" & .srcText & vbCrLf & _ "Document URL:" & .url End With MsgBox strErrText, vbExclamation End If End Sub Private Sub setRoot(rootElement As String) Set parentNode = xml_document.selectSingleNode(rootElement) End Sub Private Function GetNodeValue(ByVal start_at_node As IXMLDOMNode, _ ByVal node_name As String, _ Optional ByVal default_value As String) _ As String Set value_node = start_at_node.selectSingleNode(".//" & node_name) If value_node Is Nothing Then GetNodeValue = default_value Else GetNodeValue = value_node.Text End If End Function Private Sub cmdSelectXML_Click() Dim strFileName As String objX.async = False CDL.Filter = "XML file (*.xml)|*.xml" CDL.DialogTitle = "Select the XML file" CDL.ShowOpen strFileName = CDL.FileName Screen.MousePointer = vbHourglass LoadValue (strFileName) setRoot "Dimap_Document" txtIDNumber.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtLatLong1.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtLatLong2.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtLatLong3.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtLatLong4.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtScene.Text = GetNodeValue(parentNode, "Dataset_ID", "???") txtHoriz.Text = GetNodeValue(parentNode, "Horizontal_CS_Type", "???") Screen.MousePointer = vbDefault Set objX = Nothing Exit Sub End Sub




Reply With Quote