SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
在c#中在[]之后在HTML中添加div 要求:在字符串的body标记后添加自定义html] 我用htmlagilitypack这样解决: StringBuilder sb = new StringBuilder(); sb.Append(customStringWithHtmlContent) HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(sb.ToString()); // Create new node from newcontent HtmlNode newNode = HtmlNode.CreateNode("<div>" + someStringWithAdditionalContent + "</div>"); // Get body node HtmlNode body = htmlDoc.DocumentNode.SelectSingleNode("//body"); if (body != null) {// Add new node as first child of body body.PrependChild(newNode); } var docContent = htmlDoc.DocumentNode.InnerHtml; 看起来不错,但在某些html页面中,html结构已更改,封闭的div标签已移动,并且html呈丑陋呈现]] 第二个解决方案: if (sb.ToString().Contains("<body>")) { sb.Replace("<body>", "<body><div>" + someStringWithAdditionalContent + "</div>"); } 看起来不错,但不适用于具有类似属性的身体 <body style="someAttr:value ..." ...> 一些想法?其他解决方案? 要求:在字符串中的body标记后添加自定义html,我用htmlagilitypack这样解决:StringBuilder sb = new StringBuilder(); sb.Append(customStringWithHtmlContent)HtmlDocument ... RegEx?可能还有一种更优雅的方式,但基本思想: string input = "<body style=\"someAttr\"><tag>sdsdsa</tag></body>"; Regex Pattern = new Regex(@"(<body.*?>)(.*?)(<\/body>)", RegexOptions.Compiled); var updatedText = Pattern.Replace(input, match => { string newMatch = match.Groups[2].Value; string newContent = "<div>" + "someStringWithAdditionalContent" + "</div>"; return match.Groups[1].Value + newContent + newMatch + match.Groups[3].Value; }); Console.WriteLine(updatedText); 输出: <body style="someAttr"><div>someStringWithAdditionalContent</div><tag>sdsdsa</tag></body>
问题描述
投票:0
回答:1
要求:在字符串的body标记后添加自定义html]
我用htmlagilitypack这样解决:
c#
html
html-agility-pack
1个回答
0
投票
RegEx?可能还有一种更优雅的方式,但基本思想:
最新问题
正则表达式匹配由空格分隔的特定单词
AsyncAPI 中的关联 ID 是什么?
weka 中的值数量错误
合并具有相同列名的数据框
kubernetes 使用索引设置 env 变量值
在 Groovy 控制台中注册和使用 JDBC 驱动程序
出现错误无法构建kafka消费者
更改 numpy 中矩阵对角线的值
使用 CV2 读取 4 通道图像进行语义分割
使用 npx remix vite:构建意外的令牌?由于“??”
运行 Vite 和 React-route-dom 的 Webstie 无法从正确的 URL 加载资源
如何在 JS 中设置默认值来设置 Map 和/或 value++
带偏移量的累计总和
为什么在这个 Java 程序中 Player 对象的第二个实例重写了第一个实例?
查询规划器未使用时间戳上的部分索引,尽管 WHERE 条件中的时间段重叠
如何将拖放功能添加到我已自定义为图像的文件输入 HTML 标记?
实体之间的关系
telegram 机器人 URL 授权
Python 类型提示:类型复杂类型的联合无法按预期与用户定义的类一起工作
使用 gt 库在 R 中的数据帧上转换列(通过标签对行进行分组)
© www.soinside.com 2019 - 2024. All rights reserved.