我的SQL数据库正在输出一个类似于html的hb:
<ul><li>Test 1</li><li>Test 2</li></ul>
我想将其转换为文本框列表,如下所示:
<textarea>Test 1</textarea><textarea>Test 2</textarea>
我该怎么做?我尝试过解析为XML,但这似乎不起作用,似乎是一种冗长的做事方式。
答案 0 :(得分:0)
我最近发现了HTML Agility Pack这使得很容易做到这样的事情:
var nodes= doc.DocumentNode.Descendants().Where(n => n.Name.StartsWith("li")).ToList();
然后,您可以遍历该集合并构建您的TextArea
foreach (HTML.HtmlNode node in nodes)
{
// ... build your text area here
}
答案 1 :(得分:0)
根据您问题的措辞,我推断您主要是在寻找一种方法来访问HTML片段的DOM。可能还有其他工具,但我可以推荐Html Agility Pack,它可以作为Nuget包(http://htmlagilitypack.codeplex.com/)使用。
加载DOM结构后,您可以根据需要访问和修改它,也可以生成输出html。
这个库对写得不好的HTML非常宽容,所以如果您的数据库值受到较少的控制(例如用户输入),那么这是一个不错的选择。