【问题标题】:Loop for XElement.Parse (in C#) [closed]XElement.Parse 的循环(在 C# 中)[关闭]
【发布时间】:2018-02-21 00:39:38
【问题描述】:

我现在正在创建一个程序,该程序使用 XDocument 从字符串构建 html 文档。 (XElement.Parse)我正在使用 System.Xml 和 System.Xml.Linq;

举个很好的例子,我贴一段我的代码: ... StringBuilder table_dynamic10 = new StringBuilder(); table_dynamic10.Append("<tr><td class=\"tg-baqh\">" + *VALUE1* + "</td><td class=\"tg-baqh\">" + *VALUE2* + "</td></tr>"); ...

var xDocument = new XDocument( ... XElement.Parse(table_dynamic10.ToString()) ...

*VALUE1**VALUE2* 将是 SQL 数据库中的值。其中有几个,这就是为什么我想为 table_dynamic10 使用loop 但我的XElement.Parse 允许显示它只有一次

我不知道如何解决这个问题。谁能帮帮我?

【问题讨论】:

标签: c# html sql xml loops


【解决方案1】:

意图有点不清楚,但也许你正在寻找的东西含糊地是这样的:

public class WritesRowsOfHtml
{
    public void BeginHtmlDocument(StringBuilder document)
    {
        document.Append("<html><body>");
    }

    public void WriteTable(StringBuilder document, IEnumerable<ThingContainingValues> things)
    {
        document.Append("<table>");
        foreach (var thing in things)
        {
            document.AppendFormat("<tr><td class=\"tg-baqh\">{0}</td><td class=\"tg-baqh\">{1}</td></tr>",
                thing.Value1, thing.Value2);
        }
        document.Append("</table>");
    }

    public void EndHtmlDocument(StringBuilder document)
    {
        document.Append("</body></html>");
    }
}

一个单独的方法不必创建整个文档。您可以分段进行,然后当您将所有内容写入StringBuilder 后,您可以从该字符串构建一个 XML 文档。 (如果你真的需要一个 XML 文档。我不知道你为什么需要一个。)

这实际上取决于文档的复杂程度。您可以用一种方法完成所有操作,包括打开和关闭标签。但是,如果它很复杂并且您不想编写庞大的方法,那么您可以像这样分解它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 2013-12-09
    • 2016-07-12
    • 2013-12-17
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多