I have to read HTML table data as XML. But I am not able to get all the information as in my required format.
declare @xml xml='<body bgcolor="#FFFFFF">
<div id="Edit01" style="position:absolute; left:5px; top:4px; width:462px; height:196px; z-index:1">
<table width="462" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="5" width="462">
<span class="auditnoteheader">Charges: </span>
</td>
</tr>
<tr>
<td colspan="5" width="462">
<span class="AuditNoteText">Submitted by ELSGH </span>
</td>
</tr>
<tr>
<td colspan="5" width="462">
<span class="AuditNoteText">Jul 20 2018 9:15PM Eastern Standard Time</span>
</td>
</tr>
<tr class="AuditNoteSubHeader">
<td width="8" />
<td width="230" valign="top">Charge</td>
<td width="110" valign="top">Old Charge Status</td>
<td width="114" valign="top">New Charge Status</td>
</tr>
<tr class="AuditNoteText">
<td width="8" />
<td width="230" valign="top">
<font color="009900">99214 OFFICE OUTPATIENT VISIT 25 MINUTES</font>
</td>
<td width="110" valign="top">
<font color="009900">Review</font>
</td>
<td width="114" valign="top">
<font color="009900">Submitted</font>
</td>
</tr>
<tr class="AuditNoteText">
<td width="8" />
<td width="230" valign="top">
<font color="009900">36415 COLLECTION VENOUS BLOOD</font>
</td>
<td width="110" valign="top">
<font color="009900">Review</font>
</td>
<td width="114" valign="top">
<font color="009900">Submitted</font>
</td>
</tr>
<tr class="AuditNoteSeparater">
<td colspan="5" height="2">
--------------------------------------------------------------------------------------------
</td>
</tr>
</table>
</div>
</body>'
I was trying using this query.
SELECT TR.AT1.query('data(span)') ,TR.AT1.query('*') ,TR.AT1.value('.','varchar(max)')
FROM @xml.nodes('/body/div/table') as T(N)
cross apply T.N.nodes('./tr/td') as TR(AT1)
cross apply TR.AT1.nodes('.') as para(p1)
Inside body tag I am getting multiple tables. first 3 tag(can be different) is table information. Next row with class="AuditNoteSubHeader" is table header and after it all class="AuditNoteText" contains table data. I need to extract this all information. Can any one please help on this ?
My expected output is:
for AuditNoteText I am getting multiple rows, So to differentiate it I had given numbers like AuditNoteText1, AuditNoteText2.