Я пытаюсь понять структуру следующего XML, чтобы я мог проанализировать его в столбцах Excel.
<?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>
Я хочу проанализировать его таким образом, чтобы он выглядел следующим образом

Я хочу понять, как дочерние элементы определены в этом XML.Я вижу, что есть несколько элементов с одинаковым именем "p"
, поэтому всякий раз, когда я пытаюсь импортировать его в MS Access или даже в наборе данных VB.net, я получаю имя столбца с "p"
.
Код, который я использую для обновления Access, приведен ниже:
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
Может кто-нибудь посоветовать и объяснить эту структуру XML и как я могу создать XSD для этого типа XML.
Спасибо