แก้ไขตาราง HTML ที่มีอยู่ด้วย .NET API
Aspose.HTML for .NET
โหลดไฟล์ HTML ที่มีอยู่ลงใน
HTMLDocument
คุณสามารถค้นหาตารางด้วยตัวเลือก CSS อัปเดตเซลล์และสไตล์ผ่าน DOM เพิ่มหรือลบแถว และบันทึกเอกสารทั้งฉบับโดยไม่ต้องสร้างเนื้อหาอื่นใหม่
แก้ไขตารางในไฟล์ HTML ด้วย C#
ตัวอย่างต่อไปนี้เปิด input.html เลือกตารางแรก เปลี่ยนเซลล์ข้อมูลแรก เพิ่มแถว อัปเดต CSS ของตาราง และบันทึกผลลัพธ์เป็น edited-table.html
โค้ด C# สำหรับแก้ไขตาราง HTML
using Aspose.Html;
using System;
// Load the HTML document that contains the table
using HTMLDocument document = new HTMLDocument("input.html");
// Select the first table and verify that it exists
HTMLTableElement table = (HTMLTableElement)document.QuerySelector("table");
if (table == null)
{
throw new InvalidOperationException("The HTML document does not contain a table.");
}
// Update the first data cell when one is available
HTMLTableCellElement firstCell = (HTMLTableCellElement)table.QuerySelector("td");
if (firstCell != null)
{
firstCell.TextContent = "Updated value";
}
// Append a row and populate its cells
HTMLTableRowElement newRow = (HTMLTableRowElement)table.InsertRow(table.Rows.Length);
string[] values = { "New item", "Ready" };
foreach (string value in values)
{
HTMLTableCellElement cell = (HTMLTableCellElement)newRow.InsertCell(newRow.Cells.Length);
cell.TextContent = value;
}
// Apply CSS without replacing the table's other attributes
table.Style.SetProperty("border", "1px solid #808080");
table.Style.SetProperty("border-collapse", "collapse");
table.Style.SetProperty("width", "100%");
// Save the complete modified document
document.Save("edited-table.html");
ขั้นตอนการแก้ไขตาราง HTML
- เปิดไฟล์ต้นฉบับด้วยตัวสร้าง
HTMLDocument - ค้นหาตารางที่ต้องการด้วย
QuerySelector()ใช้ตัวเลือก ID หรือคลาสแทนtableเมื่อเอกสารมีหลายตาราง - เลือกเซลล์ที่มีอยู่และอัปเดต
TextContentโดยไม่แทนที่มาร์กอัปส่วนอื่นของตาราง - เพิ่มแถวด้วย
InsertRow()และสร้างเซลล์ด้วยInsertCell() - เปลี่ยนการนำเสนอผ่าน
Styleของตาราง แล้วเรียกSave()เพื่อเขียนเอกสารที่แก้ไขแล้วทั้งฉบับ
ตัวเลือกสำหรับแก้ไขตาราง HTML
- เลือกตารางที่ถูกต้อง ใช้ตัวเลือก เช่น
#orders,.price-tableหรือmain tableเมื่อเอกสารมีมากกว่าหนึ่งตาราง - แก้ไขเนื้อหาที่มีอยู่ เปลี่ยนข้อความ แอตทริบิวต์ คลาส และ CSS แบบอินไลน์ของเซลล์ โดยไม่สร้างตารางใหม่หรือแทนที่ HTML ที่ไม่เกี่ยวข้อง
- เปลี่ยนโครงสร้างตาราง แทรกหรือลบแถวและเซลล์ผ่านอินเทอร์เฟซ DOM ของตาราง พร้อมรักษาลำดับในเอกสาร
- ใช้กฎการนำเสนอแบบสมัยใหม่ ใช้คุณสมบัติ CSS สำหรับเส้นขอบ ความกว้าง การจัดแนว และระยะห่าง แทนแอตทริบิวต์ HTML สำหรับการนำเสนอที่ล้าสมัย
- รักษาเนื้อหารอบตาราง การบันทึก
HTMLDocumentที่โหลดมาจะคงเนื้อหานอกตารางที่แก้ไขไว้ หากต้องการแยกองค์ประกอบ<table>ที่เลือกพร้อมมาร์กอัป โปรดดู แยกตาราง HTML
เอกสารประกอบการแก้ไขตาราง HTML
ดู แก้ไขเอกสาร HTML สำหรับตัวอย่างการค้นหา แทรก เปลี่ยน และลบโหนด DOM เอกสาร HTML DOM อธิบายการนำทางเอกสารและโมเดลองค์ประกอบที่ใช้แก้ไขเนื้อหา HTML ด้วยโปรแกรม
ติดตั้ง Aspose.HTML for .NET
ติดตั้ง Aspose.HTML for .NET จาก NuGet ด้วย .NET CLI:
dotnet add package Aspose.HTML
คุณยังสามารถใช้หน้าต่าง NuGet Package Manager หรือเรียกใช้ Install-Package Aspose.HTML ใน Package Manager Console ได้ ดูรายละเอียดการตั้งค่าใน
คู่มือการติดตั้ง
หรือขอ
ใบอนุญาตชั่วคราว
เพื่อประเมิน API โดยไม่มีข้อจำกัดของเวอร์ชันทดลอง
คำถามที่พบบ่อยเกี่ยวกับการแก้ไขตาราง HTML
1. จะแก้ไขตารางที่ระบุเมื่อหน้าเว็บมีหลายตารางได้อย่างไร?
กำหนด ID หรือคลาสที่คงที่ให้ตารางเป้าหมาย แล้วส่งตัวเลือก CSS ที่ตรงกัน เช่น [id="orders"] หรือ .price-table ไปยัง QuerySelector() ตัวเลือกทั่วไป table จะคืนเฉพาะตารางแรกในเอกสาร
2. ฉันสามารถเปลี่ยนเซลล์โดยไม่แทนที่ทั้งตารางได้หรือไม่?
ได้ เลือกองค์ประกอบ <td> หรือ <th> ที่ต้องการแล้วกำหนด TextContent สำหรับข้อความธรรมดา หากเซลล์ต้องมีมาร์กอัปซ้อน ให้แก้ไขโหนดลูก DOM หรือใช้ InnerHTML กับเนื้อหาที่เชื่อถือได้เท่านั้น
3. จะเพิ่มหรือลบแถวจากตาราง HTML ใน C# ได้อย่างไร?
เรียก InsertRow() พร้อมดัชนีแถวที่ต้องการ แล้วเพิ่มเซลล์ด้วย InsertCell() ใช้ DeleteRow() เพื่อลบแถว และตรวจสอบดัชนีกับ Rows.Length ก่อนเปลี่ยนโครงสร้าง
4. ควรเปลี่ยนรูปแบบตารางด้วยแอตทริบิวต์ HTML หรือ CSS?
ใช้ CSS สำหรับเส้นขอบ ความกว้าง การจัดแนว ระยะห่าง สี และการนำเสนออื่น แอตทริบิวต์อย่าง align, border และ cellspacing เป็นส่วนหนึ่งของโมเดล HTML สำหรับการนำเสนอแบบเก่าและไม่ควรเพิ่มในมาร์กอัปสมัยใหม่
5. การบันทึกตารางที่แก้ไขจะรักษาส่วนอื่นของเอกสาร HTML ไว้หรือไม่?
ได้ เมื่อโหลดต้นฉบับลงใน HTMLDocument แก้ไขเฉพาะโหนดตารางที่เลือก และบันทึกเอกสารนั้น องค์ประกอบอื่นจะยังอยู่ในผลลัพธ์ อย่างไรก็ตาม การแทนที่องค์ประกอบแม่หรือ InnerHTML ขององค์ประกอบนั้นอาจแทนที่โหนดลูกด้วย
เวิร์กโฟลว์ตาราง HTML ที่เกี่ยวข้อง
สร้างตาราง แยกมาร์กอัปแบบสมบูรณ์ หรือรวบรวมค่าของเซลล์ด้วยคู่มือ Aspose.HTML for .NET