我正在寻找删除2个div标签之间所有文本的最佳方法,包括标签本身。
例如:
<body>
<div id="spacer"> This is a title </div>
</body>
变为:
<body>
</body>
编辑:这需要在服务器端进行(C#)
答案 0 :(得分:1)
您可以使用此lib:http://htmlagilitypack.codeplex.com/在服务器端进行操作,下面是您的案例示例:
var doc = new HtmlDocument();
doc.LoadHtml("<body><div id=\"spacer\"> This is a title </div></body>");
doc.GetElementbyId("spacer").Remove();
var stream = new StringWriter();
doc.Save(stream);
var result = stream.ToString();
修改强>
您还可以使用xpath选择所需的任何节点:
var nodes = doc.DocumentNode.SelectNodes("body/div");
nodes.ToList().ForEach(node => node.Remove());
答案 1 :(得分:0)
不确定您要实现的目标,但在您的情况下隐藏或删除详细信息的最佳方法是JQuery / Javascript,因为您没有引用服务器端控件。
如果您只是解析字符串: -
1)解析并找到第一次出现/最后出现并在两者之间修剪。
2)XML解析将是另一种方式,我猜是更好的方法,因为你可以在整个xml中迭代以更好的方式进行操作。
答案 2 :(得分:0)
您可以使用正则表达式去除html标记和文本。你会在google中找到几个例子。