簡體   English   中英

如何在現有 HTML 文件的末尾添加表格?

[英]How to add a table at the end of the existing HTML file?

我在 VS2017 中使用 C# with .net framework 4.5 in window 7 來構建一個 winform GUI 程序。

我有一個現有的 HTML 文件,其中包含數字。 我想在 HTML 文件的末尾添加一個表格。

該表的數據來自用戶在 GUI 界面(文本框)和套接字客戶端程序的輸入。

我嘗試過 StreamReader 和 StreamWriter 方法,但我不知道如何生成表格,在不改變 HTML 文件中先前內容的情況下添加表格並從套接字客戶端接收數據以填充表格。

Html 文件與構建的 C# .exe 程序位於同一文件夾中。

此外,當我創建本地 ipaddress 以獲取數據以使用套接字填充表時,會發生“找不到命名空間名稱 IPAddress 的類型”的錯誤。

public partial class Form1 : Form
{
            ThreadStart Testref = new ThreadStart(socketThread);

            Thread socketThread = new Thread(Testref);
            socketThread.Start();
}

public static void socketThread()
{
        Form1 frm1 = new Form1();
        Console.WriteLine("Socket thread starts");
        IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
        TcpListener serverSocket = new TcpListener(ipAddress, 8021);
        TcpClient clientSocket = default(TcpClient);
        int counter = 0;

        serverSocket.Start();
        Console.WriteLine(" >> " + "Server Started");

        counter = 0;
        while (true)
        {
            counter += 1;
            clientSocket = serverSocket.AcceptTcpClient();
            Console.WriteLine(" >> " + "Client No:" + 
     Convert.ToString(counter) + " started!");
            handleClinet client = new handleClinet();
            client.startClient(clientSocket, Convert.ToString(counter));
        }

        clientSocket.Close();
        serverSocket.Stop();
        Console.WriteLine(" >> " + "exit");
        Console.ReadLine();
}

回答問題的最后一部分“此外,'找不到命名空間名稱 IPAddress 的類型'”的錯誤,您需要using System.Net; 在頂端。 對於剩下的問題,您可以將 Html 文件內容加載到HtmlDocument 中,然后創建一個HtmlElement,然后使用HtmlElement.AppendChild將新元素添加到 Html 文檔中,您可以通過提取doc.documentElement.outerHTML;再次將該 Html 文檔寫入該文件中doc.documentElement.outerHTML; 在一個string

這個庫Html Agility可能會提供您正在查看的內容。

希望這可以為您提供一種開始的方法,並可能幫助您實現您的目標。

編輯:這是您可以嘗試使用字符串操作的內容:

string column1Data = "Data 1 From UI";
string column2Data = "Data 2 From UI";
string _htmlData = System.IO.File.ReadAllText(Environment.CurrentDirectory + "\\HtmlPage1.html");
string _newRow = string.Format("<tr><td>{0}</td><td>{1}</td></tr>", column1Data, column2Data);
string _finalStr = _htmlData.Insert(_htmlData.IndexOf("</table>"), _newRow);
System.IO.File.WriteAllText(Environment.CurrentDirectory + "\\HtmlPage1.html", _finalStr);

這將讀取 HTML 文件內容,在表格末尾追加新行,然后寫回內容。

雖然這可能不是最佳或正確的方法,但希望這能解決您的問題

快樂編碼...干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM