我正在爲大學生製作離子應用程序,以便他們可以看到他們的成績,在大學網站上的成績顯示在表格中我想將該表格解析爲一組對象所以我可以以卡片形式顯示該信息。將複雜的html錶轉換爲對象數組
我想使用Javascript將複雜的表格轉換爲對象數組。我試過parseTable.js,但它只適用於簡單的表格。
P.S.我不能在html代碼中改變任何東西。
這是我要轉換的表:
<div>
<table>
<tbody>
<tr>
<th>Unite d'Enseignement</th>
<th>NB_ECTS</th>
<th>MOYENNE /UE</th>
<th>MODULES</th>
<th>COEF</th>
<th>MOY_MODULE</th>
</tr>
<tr>
<td>Application d'entreprise</td>
<td>
<span>9</span>
</td>
<td>
<span>13,69</span>
</td>
<td</td>
<td>3</td>
<td>12,23</td>
</tr>
<tr>
<td>Architecture n-tiers .NET</td>
<td>3</td>
<td>14,25</td>
</tr>
<tr>
<td>SharePoint</td>
<td>3</td>
<td>14,60</td>
</tr>
<tr>
<td>Architecture Ntiers</td>
<td>
<span>5</span>
</td>
<td>
<span>11,30</span>
</td>
<td>JEE specifications and applications</td>
<td>5</td>
<td>11,30</td>
</tr>
<tr>
<td>Communication, Culture et Citoyenneté A4</td>
<td>
<span>3</span>
</td>
<td>
<span>14,20</span>
</td>
<td>Communication, Culture et Citoyenneté A4</td>
<td>3</td>
<td>14,20</td>
</tr>
<tr>
<td>Communication, Culture et Citoyenneté F4</td>
<td>
<span>3</span>
</td>
<td>
<span>10,25</span>
</td>
<td>Communication, Culture et Citoyenneté F4</td>
<td>3</td>
<td>10,25</td>
</tr>
<tr>
<td>Gestion de projet et management</td>
<td>
<span>6</span>
</td>
<td>
<span>11,57</span>
</td>
<td>Environnement de l’entreprise</td>
<td>2</td>
<td>13,05</td>
</tr>
<tr>
<td>Gestion de projet</td>
<td>2</td>
<td>14,50</td>
</tr>
<tr>
<td>Analyse et Décisions Financières</td>
<td>2</td>
<td>7,15</td>
</tr>
<tr>
<td>Informatique Décisionnelle</td>
<td>
<span>5</span>
</td>
<td>
<span>9,07</span>
</td>
<td>Informatique Décisionnelle</td>
<td>3</td>
<td>9,45</td>
</tr>
<tr>
<td>Analyse statistique</td>
<td>2</td>
<td>8,50</td>
</tr>
<tr>
<td>Intelligence des affaires</td>
<td>
<span>5</span>
</td>
<td>
<span>8,50</span>
</td>
<td>Séries Temportelles et Contrôle qualité</td>
<td>2</td>
<td>9,55</td>
</tr>
<tr>
<td>Data Mining</td>
<td>3</td>
<td>7,80</td>
</tr>
<tr>
<td>projet BI</td>
<td>
<span>8</span>
</td>
<td>
<span>11,40</span>
</td>
<td>Projet d’apprentissage Business Intelligence</td>
<td>8</td>
<td>11,40</td>
</tr>
<tr>
<td>Projet intégration développement</td>
<td>
<span>8</span>
</td>
<td>
<span>15,02</span>
</td>
<td>Projet intégration développement</td>
<td>8</td>
<td>15,02</td>
</tr>
<tr>
<td>Recherche opérationnelle</td>
<td>
<span>4</span>
</td>
<td>
<span>13,14</span>
</td>
<td>Projet RO-complexité</td>
<td>1</td>
<td>10,70</td>
</tr>
<tr>
<td>Programmation linéaire</td>
<td>1,50</td>
<td>12,30</td>
</tr>
<tr>
<td>Graphes et applications</td>
<td>1,50</td>
<td>15,60</td>
</tr>
<tr>
<td>Systéme et service réseaux</td>
<td>
<span>4</span>
</td>
<td>
<span>10,68</span>
</td>
<td>Services et Administration des Réseaux</td>
<td>2</td>
<td>13,85</td>
</tr>
<tr>
<td>Systèmes d'exploitation avancés</td>
<td>2</td>
<td>7,50</td>
</tr>
</tbody>
</table>
</div>
https://codepen.io/monster5/pen/vepbzg
更新:我發現了一個jQuery plugin to serialize HTML tables into javascript objects但我在我的代碼中使用它有問題。 在我離子1的應用程序我正在刮網頁,把響應(整頁)在VAR這樣
var tmp = document.implementation.createHTMLDocument();
tmp.body.innerHTML = response.data;
,然後我用這個來獲取表
var table = tmp.getElementById('ContentPlaceHolder1_GridView2');
這不工作
var table2 = $(table).tableToJSON();
它返回一個空列表
到目前爲止,謹慎發佈你的努力? – fubar
如果您從表格標記中刪除不必要的屬性以澄清實際的數據和結構並修復縮進,那麼試圖幫助您的人不必自行工作就會很有幫助。 – fubar
我重新格式化了代碼,請下次再試。 – clabe45