我有一个类似以下布局的文档(实际上它要大得多):
<div id="header">
<div id="whatever">
<div id="content">
<p>Yes</p>
</div>
</div>
</div>
我正在从其他地方导入该html,但我无法控制它。我需要在倒数第二个div 之前添加额外的 html:即
<div id="header">
<div id="whatever">
<div id="content">
<p>Yes</p>
</div>
[In here!]
</div>
</div>
现在我已经使用 substr 和 lastindexof 完成了部分工作。但我之前无法弄清楚如何到达div。
这是我所拥有的:
Public Partial Class RightMenuControl
Inherits System.Web.UI.UserControl
Private dtItemsFeed As dsItems.ItemsFeedDataTable
Private taItemsFeed As New dsItemsTableAdapters.ItemsFeedTableAdapter
Private allText As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
loadData()
End Sub
Private Sub loadData()
dtItemsFeed = New dsItems.ItemsFeedDataTable
dtItemsFeed = taItemsFeed.GetCode()
For Each rFeed As dsItems.ItemsFeedRow In dtItemsFeed
allText = rFeed.SideCode
Next
Dim FirstDiv As String = allText.LastIndexOf("</div>")
Dim LastDiv As String = allText.Substring(FirstDiv, 6)
Dim str As String = allText
Dim strRes As String = str.Insert(FirstDiv, "<div>extrahtml</div>")
ltrSide.Text = strRes
End Sub
End Class
其中打印了我的 extrahtmldiv:
<div id="header">
<div id="whatever">
<div id="content">
<p>Yes</p>
</div>
</div>
<div>extrahtml</div>
</div>
汤姆
好的,知道它永远是倒数第二个 Div,这应该可以解决问题。
Dim LastDiv As Int = allText.LastIndexOf( "</div>" )
Dim SecondToLastDiv As Int = allText.LastIndexOf( "</div>", LastDiv ) - 1
Dim str As String = allText
Dim strRes As String = str.Insert(SecondToLastDiv, "<div>extrahtml</div>")