Merge 2 XML using Dotnet Factory
Dim objReader1,objReader2,objds1,objds2
Set objReader1 = DotNetFactory.CreateInstance(“System.Xml.XmlTextReader”, “System.Xml”,”C:\Documents and Settings\kmohankumar\Desktop\11.xml”)’ Creates the instance for the XMLWriter
Set objReader2 = DotNetFactory.CreateInstance(“System.Xml.XmlTextReader”, “System.Xml”,”C:\Documents and Settings\kmohankumar\Desktop\12.xml”)’
Set objds1 = DotNetFactory.CreateInstance(“System.Data.DataSet”, “System.Data”)
Set objds2 = DotNetFactory.CreateInstance(“System.Data.DataSet”, “System.Data”)
objds1.ReadXml(objReader1)
objds2.ReadXml(objReader2)
objds1.Merge(objds2)
objds1.WriteXml(“C:\Documents and Settings\kmohankumar\Desktop\13.xml”)
objReader1.close
objReader2.close
Set objReader1=Nothing
Set objReader2=Nothing
Set objds1=nothing
Set objds2=nothing
Author:Mohan Kakarla
Create XML using Dotnet Factory
Dim objWriter,XmlWriter
Set objWriter = DotNetFactory.CreateInstance(“System.Xml.XmlWriter”, “System.Xml”)’ Creates the instance for the XMLWriter
set XmlWriter=objWriter.Create(“C:\Documents and Settings\kmohankumar\Desktop\1234.xml”)’ creates xml document
XmlWriter.WriteStartElement(“Books”)’ start writing the element
XmlWriter.WriteStartElement(“Author”)
XmlWriter.WriteAttributeString “Name”, “Mohan”‘ writes attributes and its values to the element
XmlWriter.WriteEndElement()’ ends writing the element
XmlWriter.WriteStartElement(“Title”)
XmlWriter.WriteAttributeString “Title1”, “QTP”‘
XmlWriter.WriteEndElement()
XmlWriter.WriteFullEndElement()
XmlWriter.close()
Set objWriter =Nothing
Author:Mohan kakarla
Read XML using Dotnet Factory
Set objReader = DotNetFactory.CreateInstance(“System.Xml.XmlReader”, “System.Xml”)
set XmlReader=objReader.Create(“C:\Documents and Settings\kmohankumar\Desktop\3.xml”)
while (XmlReader.Read())
If XmlReader.NodeType = “XmlDeclaration” or XmlReader.NodeType = “Element”Then
Reporter.ReportEvent micPass, “NodeType:”&XmlReader.NodeType &” Name :”& XmlReader.Name& ” is at Depth:”& XmlReader.Depth,””
If XmlReader.HasValue Then
Reporter.ReportEvent micPass, ” Value: “& XmlReader.Value,””
End If
Reporter.ReportEvent micPass, “Element:”& XmlReader.Name&” has attribute(s)”&”:”& XmlReader.AttributeCount,””
If XmlReader.AttributeCount > 0 Then
while XmlReader.MoveToNextAttribute()
fn = XmlReader.Name
ns = XmlReader.NamespaceURI
Reporter.ReportEvent micPass,” Attribute:”&fn &” Value: “& ns&” Attribute:”& XmlReader.GetAttribute(fn, ns),””
wend
End If
End If
wend
XmlReader.Close()
Author: Mohan Kakarla
Compare 2 XML files
This Example was written for comparing two XML files assuming the contents of the both XML has the following elements:
<Books>
<Title>QTP</Title>
<Author>Mohan</Author>
<Title>VBS</Title>
<Author>Kumar</Author>
</Books>
Dim description, filepath
Set xmlDoc1 = CreateObject(“Msxml2.DOMDocument”)
xmlDoc1.load(“C:Documents and Settingsmohan.kakarlaDesktop1.xml”)’file 1
Set xmlDoc2 = CreateObject(“Msxml2.DOMDocument”)
xmlDoc2.load(“C:Documents and Settingsmohan.kakarlaDesktop2.xml”)’file 2
Set ElemList1= xmlDoc1.DocumentElement.ChildNodes
Set ElemList2= xmlDoc2.DocumentElement.ChildNodes
If ElemList1.length=ElemList2.length Then’ check weather both xml file has same number of childnodes
msgbox “Both XML files have same number of Child nodes”
For i = 0 to ElemList1.length-1
If ElemList1.item(i).Text=ElemList2.item(i).Text Then
msgbox “child element:”&i &” is same in both XML files”
Else
msgbox “child element:”& i &” is not same in both XML files, In XML file 1, The valueis:”&ElemList1.item(i).Text &” and In XML file 1, The value
is:”&ElemList2.item(i).Text
End If
Next
End If
Author: Mohan Kumar Kakarla
VBScript to read XML
Dim description, filepath
VBScript to read XML
Set xmlDoc = CreateObject(“Msxml2.DOMDocument”)
xmlDoc.load(“c:\test.xml”)
Set ElemList = xmlDoc.getElementsByTagName(“segment”)
filepath = ElemList.item(0).getAttribute(“filePath”)
MsgBox filepath
Set ElemList = xmlDoc.getElementsByTagName(“description”)
plot = ElemList.item(0).Text
MsgBox plot
Source: Mercury Forum’s KB articles
How Get Root Element attribute’s value from XML file
How Get Root Element attribute’s value from XML file
Function GetRootElementAttributeValueFromXML(sFileNameWithPath,sAttribute)
‘ Why we need to ADD 2 because each attribute followed by (=) and (“)
iLenOfValue=len(sAttribute) + 2
Set doc = XMLUtil.CreateXML()
doc.LoadFile sFileNameWithPath
Set root = doc.GetRootElement()
If instr(1,root,sAttribute) <= 0 then
Reporter.ReportEvent micFail,sAttribute,”Not Found in XML file.”
exitrun(0)
else
sStartPos=instr(1,root,sAttribute) + iLenOfValue
sEndPos=instr(sStartPos,root,””””)
GetRootElementAttributeValueFromXML=mid(root,sStartPos,sEndPos – sStartPos)
end if
End Function msgbox(GetRootElementAttributeValueFromXML(“c:\temp\request.xml”,”MerchantId”))
-
Archives
- July 2011 (1)
- March 2011 (1)
- November 2010 (1)
- November 2008 (4)
- October 2008 (2)
- September 2008 (2)
- June 2008 (1)
- March 2008 (4)
- February 2008 (44)
-
Categories
- Automated Test Script Creation Process
- Automating MS Word
- Automating QC
- Automation Object Model For QTP
- Backward compatability in QTP
- Browser Scripts
- COM and QTP
- compare 2 text files
- Descriptive programming
- Descriptive Programming and Child Objetcs
- Dictonary Object
- DotNetFactory
- Excel Automation
- Extra Topics
- Files and Folders
- General Standards to be followed in Test scripts
- New Features In QTP9.5
- QC-OTA
- QTP Additional Faqs
- QTP Faqs
- QTP Naming Convention
- QTP Tips and Faqs
- Running stored procedures from QTP
- Send keyboard keys
- Uncategorized
- Uninstall a software using QTP
- Uninstall a software using vbscript
- Update data in a database
- VBScript and IE Automation
- VBScript Faqs and Useful resources
- What’s New in Quick Test Pro 9.0
- Whats New in QTP 9.5
- XML Scripting
-
RSS
Entries RSS
Comments RSS