I am trying to understand the the structure of the following XML so that I can parse it in to Excel columns.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE raml SYSTEM 'raml20.dtd'>
<raml version="2.0" xmlns="raml20.xsd">
<cmData type="actual">
<header>
<log dateTime="2019-02-08T15:05:41.000Z" action="created" appInfo="ActualExporter">InternalValues are used</log>
</header>
<managedObject class="AMLEPR" version="FL18_1711_06_1711_05" distName="PLMN-PLMN/MRBTS-502393/LNBTS-502393/LNCEL-10/AMLEPR-0" id="9075019">
<defaults name="BLANK"/>
<p name="cacHeadroom">0</p>
<p name="deltaCac">2</p>
<p name="maxCacThreshold">100</p>
<p name="targetCarrierFreq">1400</p>
</managedObject>
<managedObject class="AMLEPR" version="FL18_1711_06_1711_05" distName="PLMN-PLMN/MRBTS-502393/LNBTS-502393/LNCEL-110/AMLEPR-0" id="9075022">
<defaults name="BLANK"/>
<p name="cacHeadroom">0</p>
<p name="deltaCac">2</p>
<p name="maxCacThreshold">100</p>
<p name="targetCarrierFreq">2100</p>
</managedObject>
<managedObject class="AMLEPR" version="FL18_1711_06_1711_05" distName="PLMN-PLMN/MRBTS-502393/LNBTS-502393/LNCEL-114/AMLEPR-0" id="10755757">
<defaults name="BLANK"/>
<p name="cacHeadroom">0</p>
<p name="deltaCac">2</p>
<p name="maxCacThreshold">100</p>
<p name="targetCarrierFreq">2300</p>
</managedObject>
<managedObject class="AMLEPR" version="FL18_1711_06_1711_05" distName="PLMN-PLMN/MRBTS-502393/LNBTS-502393/LNCEL-120/AMLEPR-0" id="9075025">
<defaults name="BLANK"/>
<p name="cacHeadroom">0</p>
<p name="deltaCac">2</p>
<p name="maxCacThreshold">100</p>
<p name="targetCarrierFreq">2500</p>
</managedObject>
</cmData>
</raml>
I want to parse it in such a way that it looks like this
I want to understand how the child elements are defined in this XML. I see there are multiple elements with the same name "p"
so whenever I try to import it in MS Access or even in VB.net Dataset then I get a column name with "p"
.
The code I am using to update Access is below:
Dim cs As String
cs = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Form1.db_txtbox.Text & "; Persist Security Info=False;"
Dim con As New OleDb.OleDbConnection(cs)
Using con
Dim DelQuery As String
Dim SqlQuery As String
con.Open()
DelQuery = "Delete * from LTE_AMLEPR"
SqlQuery = "INSERT INTO LTE_AMLEPR (distName, MRBTS, LNBTS, LNCEL, AMLEPR, version, ID, cacHeadroom, deltaCac, maxCacThreshold, targetCarrierFreq) VALUES (@distName , @MRBTS, @LNBTS, @LNCEL, @AMLEPR, @version, @id, @cacHeadroom, @deltaCac, @maxCacThreshold, @targetCarrierFreq)"
Dim da As New OleDbDataAdapter()
Dim olecmd As OleDbCommand = New OleDbCommand(DelQuery, con)
olecmd.ExecuteNonQuery()
olecmd.Dispose()
da.InsertCommand = New OleDbCommand(SqlQuery, con)
da.InsertCommand.Parameters.Add("distName", OleDbType.VarChar, 100, "distName")
da.InsertCommand.Parameters.Add("MRBTS", OleDbType.VarChar, 100, "MRBTS")
da.InsertCommand.Parameters.Add("LNBTS", OleDbType.VarChar, 100, "LNBTS")
da.InsertCommand.Parameters.Add("LNCEL", OleDbType.VarChar, 100, "LNCEL")
da.InsertCommand.Parameters.Add("AMLEPR", OleDbType.VarChar, 100, "AMLEPR")
da.InsertCommand.Parameters.Add("version", OleDbType.VarChar, 100, "version")
da.InsertCommand.Parameters.Add("ID", OleDbType.VarChar, 100, "id")
da.InsertCommand.Parameters.Add("cacHeadroom", OleDbType.VarChar, 20, "cacHeadroom")
da.InsertCommand.Parameters.Add("deltaCac", OleDbType.VarChar, 20, "deltaCac")
da.InsertCommand.Parameters.Add("maxCacThreshold", OleDbType.VarChar, 20, "maxCacThreshold")
da.InsertCommand.Parameters.Add("maxCacThreshold", OleDbType.VarChar, 20, "targetCarrierFreq")
da.Update(Dt)
End Using
Can someone please advise and explain this structure of XML and how I can create the XSD for this type of XML.
Thanks