CsQuery を使用して、一連のアンカー要素を変更する必要があります。
'...
Dim cqContext = WebForms.CreateFromRender(Page, AddressOf MyBase.Render, writer)
Dim cq = cqContext.Dom
Dim foo = cq("a")
'...
たとえば、すべてのアンカー要素で、href の先頭にある「/MyFolderName/」を「../」に置き換える必要があります。
私は単にこれを行うことができます:
For Each i In cq("a")
i.Attributes("href") = Regex.Replace(i.Attributes("href"), "^/MyFolderName/", "../", RegexOptions.IgnoreCase)
Next
each
それとも効用法の方が効率的ですか?
セレクターも絞り込む必要がありcq("a[href^=""/MyFolderName/""]")
ますか?
それとももっと良い方法がありますか?
編集:効率的とは、最も安価であるという意味ではなく、よりエレガントな、たとえばコードの削減/操作の削減方法も探しています。
具体的には:
each
ユーティリティメソッドを使用する必要がありますか?- 上記のようにセレクターを絞り込む必要がありますか?