Hướng dẫn convert html to xml c# - chuyển đổi html sang xml c #

Office OpenXML trở thành công nghệ được lựa chọn để cung cấp dữ liệu có cấu trúc trên web, làm việc trong tay với HTML và bổ sung đầy đủ HTML. Do đó, chúng tôi cần chuyển đổi HTML sang Office OpenXML tại một số điểm tại nơi làm việc. Bài viết này chủ yếu nói về quá trình chuyển đổi thông qua một từ .NET thư viện chuyên nghiệp Spire.doc.

Đầu tiên chúng ta cần hoàn thành công việc chuẩn bị trước khi làm thủ tục:

  • Tải xuống Spire.doc và cài đặt nó trên máy của bạn.
  • Thêm các tệp spire.doc.dll làm tài liệu tham khảo.
  • Mở thư mục bin và chọn ba tệp DLL trong .NET 4.0.
  • Nhấp chuột phải vào thuộc tính và chọn Thuộc tính trong menu của nó.
  • Đặt khung đích là .NET 4.
  • Thêm spire.doc làm không gian tên.

Các bước sau đây sẽ chỉ cho bạn cách làm điều này một cách dễ dàng:

Bước 1: Tạo một tài liệu Word.: Create a Word document.

[C#]

Document doc = new Document();

Bước 2: Tải tệp HTML.: Load the HTML file.

[C#]

doc.LoadFromFile("Sample.html");

Bước 3: Lưu HTML dưới dạng tệp XML.: Save the HTML as the XML file.

[C#]

doc.SaveToFile("test.xml", FileFormat.Xml);

Ở đây đến với mã C# và VB.NET đầy đủ

[C#]

using Spire.Doc;

namespace HTMLXML
{
    class Program
    {
        static void Main(string[] args)
        {
            Document doc = new Document();
            doc.LoadFromFile("Sample.html");
            doc.SaveToFile("test.xml", FileFormat.Xml);
        }

 
    }
}

[VB.NET]

Imports Spire.Doc

Namespace HTMLXML
	Class Program
		Private Shared Sub Main(args As String())
			Dim doc As New Document()
			doc.LoadFromFile("Sample.html")
			doc.SaveToFile("test.xml", FileFormat.Xml)
		End Sub


	End Class
End Namespace

Xem trước tệp HTML gốc.

Hướng dẫn convert html to xml c# - chuyển đổi html sang xml c #

Xem trước tệp OpenXML Office được tạo.

Hướng dẫn convert html to xml c# - chuyển đổi html sang xml c #

Trong bài viết này, tôi sẽ giải thích cách chuyển đổi tệp HTML thành XML. Chúng tôi sẽ tiến hành từng bước.

Chúng ta hãy xem xét một số sự thật về tệp HTML.

Giống như XML, HTML cũng là ngôn ngữ dựa trên thẻ nhưng nó không phù hợp với tiêu chuẩn XML. Không phù hợp với các thẻ không yêu cầu đóng như IMG. Có một số nhân vật hoặc trình tự ký tự cũng bất hợp pháp trong XML, ví dụ: & nbsp; vân vân.

Do đó, nhiệm vụ đầu tiên của chúng tôi là làm sạch tệp HTML để nó có thể được phân tích cú pháp là XML. Có nhiều công cụ có sẵn trên Internet về cách làm sạch tệp HTML. Tôi đã giới thiệu blog và mã được cung cấp. Tuy nhiên, tôi đã sửa đổi mã để phù hợp với nhu cầu của riêng tôi.

Bước tiếp theo là trích xuất các thông tin cần thiết. Giả sử một trang HTML nhất định có bố cục cố định để hiển thị báo cáo hoặc thông tin đặt hàng, chúng tôi có thể suy ra thông tin bằng cách sử dụng bất kỳ trình phân tích cú pháp XML tiêu chuẩn nào. Trong trường hợp của tôi, tôi đã sử dụng trình phân tích cú pháp XML từ .NET Framework.

  1. string xmlContents;   xmlContents;  
  2. try    
  3. {  
  4.     XmlDocument doc = new XmlDocument();  new XmlDocument();  
  5.     doc.Load(outputFileTextBox.Text);  
  6.         
  7.     XmlNode node = doc.GetElementsByTagName("table")[3];  "table")[3];  
  8.     for (int i = 1; i for (int i = 1; i < node.ChildNodes.Count - 1; i++)  
  9.     {  
  10.         Order order = new Order()  new Order()  
  11.         {  
  12.             Part_Number = node.ChildNodes[i].ChildNodes[0].InnerText ? ? string.Empty,  string.Empty,  
  13.                 Customer_Part_Number = node.ChildNodes[i].ChildNodes[1].InnerText ? ? string.Empty,  string.Empty,  
  14.                 Supplier_Part_Number = node.ChildNodes[i].ChildNodes[2].InnerText ? ? string.Empty,  string.Empty,  
  15.                 Supplier_Name = node.ChildNodes[i].ChildNodes[4].InnerText ? ? string.Empty,  string.Empty,  
  16.                 Type = node.ChildNodes[i].ChildNodes[5].InnerText ? ? string.Empty,  string.Empty,  
  17.                 Material = node.ChildNodes[i].ChildNodes[6].InnerText ? ? string.Empty,  string.Empty,  
  18.                 Unit_of_Measure = node.ChildNodes[i].ChildNodes[7].InnerText ? ? string.Empty,  string.Empty,  
  19.                 Quantity = node.ChildNodes[i].ChildNodes[8].InnerText ? ? string.Empty  string.Empty  
  20.         };  
  21.         bom.BomList.Add(order);  
  22.     }  
  23. }  
  24. catch (XmlException exception)   (XmlException exception)  
  25. {  
  26.     Console.WriteLine("xml parsing failed {0}", exception.Message);  "xml parsing failed {0}", exception.Message);  
  27. }  

Để chuyển đổi dữ liệu thành XML, trước hết nên lưu thông tin. Đây là một bước quan trọng mà chúng ta nên suy nghĩ và cố gắng sử dụng các tính năng hiện có được cung cấp bởi .NET Framework. Tôi đã tạo một lớp có thể được tuần tự hóa bằng XMLSerializer.

  1.   
  2.   
  3.   
  4. [Serializable]  
  5. public class Order   class Order  
  6. {  
  7.     public string Part_Number  public string Part_Number  
  8.     {  
  9.         get;  get;  
  10.         set;  set;  
  11.     }  
  12.     public string Customer_Part_Number  public string Customer_Part_Number  
  13.     {  
  14.         get;  get;  
  15.         set;  set;  
  16.     }  
  17.     public string Supplier_Part_Number  public string Supplier_Part_Number  
  18.     {  
  19.         get;  get;  
  20.         set;  set;  
  21.     }  
  22.     public string Supplier_Name  public string Supplier_Name  
  23.     {  
  24.         get;  get;  
  25.         set;  set;  
  26.     }  
  27.     public string Type  public string Type  
  28.     {  
  29.         get;  get;  
  30.         set;  set;  
  31.     }  
  32.     public string Color  public string Color  
  33.     {  
  34.         get;  get;  
  35.         set;  set;  
  36.     }  
  37.     public string Material  public string Material  
  38.     {  
  39.         get;  get;  
  40.         set;  set;  
  41.     }  
  42.     public string Unit_of_Measure  public string Unit_of_Measure  
  43.     {  
  44.         get;  get;  
  45.         set;  set;  
  46.     }  
  47.     public string Quantity  public string Quantity  
  48.     {  
  49.         get;  get;  
  50.         set;  set;  
  51.     }  
  52. }  
  53. [XmlInclude(typeof(Order))]  typeof(Order))]  
  54. public class BOM   class BOM  
  55. {  
  56.     [XmlElement(ElementName = "Order")]  "Order")]  
  57.     public List  BomList = new List  ();  public List < Order > BomList = new List < Order > ();  
  58. }  

Ưu điểm của nó là bạn có được toàn bộ XML được nối tiếp trong một chuỗi. Sau đó, nội dung XML có thể được ghi vào tệp XML một cách dễ dàng. Tồn tại nhiều khả năng để đạt được chức năng cần thiết. Nhưng cá nhân tôi nghĩ rằng nó sẽ dễ dàng hơn làm theo cách này.

  1.   
  2. XmlSerializer xmlSerializer = new XmlSerializer(typeof(BOM), new Type[]  new XmlSerializer(typeof(BOM), new Type[]  
  3. {  
  4.     typeof(Order)  typeof(Order)  
  5. });;  
  6.   
  7. using(StringWriter writer = new StringWriter())  (StringWriter writer = new StringWriter())  
  8.     {  
  9.         xmlSerializer.Serialize(writer, bom);  
  10.         xmlContents = writer.ToString();  
  11.     }  
  12.         
  13. using(StreamWriter fileWriter = new StreamWriter(outputFileTextBox.Text))  (StreamWriter fileWriter = new StreamWriter(outputFileTextBox.Text))  
  14. {  
  15.     fileWriter.Write(xmlContents);  
  16. }  

Lưu ý: Trong bài viết này, tôi đã lấy một tệp HTML được cung cấp bởi một trong những người dùng trên C-Sharpcorner. Chỉ cần ở bên an toàn, tôi không chịu trách nhiệm cho bất kỳ dữ liệu nào trong HTML. In this article, I have taken an HTML file provided by one of the users on C-SharpCorner. Just to be on safe side, I am not responsible for any data in HTML.

Làm cách nào để chuyển đổi HTML thành XML?

Nhấp vào nút URL, nhập URL và gửi.Phân tích cú pháp HTML vào XML hỗ trợ tải tệp HTML để chuyển đổi thành XML.Nhấp vào nút Tải lên và chọn Tệp.HTML sang Plain XML Converter Online hoạt động tốt trên Windows, Mac, Linux, Google Chrome, Firefox, Edge và Safari.. Parsing HTML into XML supports loading the HTML File to transform to XML. Click on the Upload button and select File. HTML to Plain XML Converter Online works well on Windows, MAC, Linux, Google Chrome, Firefox, Edge, and Safari.

Định dạng của tệp XML là gì?

XML là gì?Ngôn ngữ đánh dấu mở rộng (XML) là một định dạng dựa trên văn bản đơn giản để thể hiện thông tin có cấu trúc: tài liệu, dữ liệu, cấu hình, sách, giao dịch, hóa đơn, và nhiều hơn nữa.Nó được lấy từ một định dạng tiêu chuẩn cũ hơn gọi là SGML (ISO 8879), để phù hợp hơn cho việc sử dụng web.a simple text-based format for representing structured information: documents, data, configuration, books, transactions, invoices, and much more. It was derived from an older standard format called SGML (ISO 8879), in order to be more suitable for Web use.

XML được sử dụng để làm gì?

XML (Ngôn ngữ đánh dấu mở rộng) được sử dụng để mô tả dữ liệu.Tiêu chuẩn XML là một cách linh hoạt để tạo các định dạng thông tin và chia sẻ dữ liệu có cấu trúc điện tử thông qua Internet công khai, cũng như thông qua các mạng công ty.