0

次のレイアウトのようなドキュメントがあります (実際にはもっと大きいです)。

<div id="header">
    <div id="whatever">
        <div id="content">
            <p>Yes</p>
        </div>
    </div>
</div>

そのhtmlを他の場所からインポートしていますが、それを制御できません。最後から 2 番目の 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

私のextrahtml divを次の場所に出力します:

<div id="header">
    <div id="whatever">
        <div id="content">
            <p>Yes</p>
        </div>
    </div>
        <div>extrahtml</div> 
</div>

トム

4

1 に答える 1

0

わかりました、常に最後から 2 番目の 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>")
于 2012-08-15T12:42:09.910 に答える