0

私のウェブサイトには、shoutcastサーバーから再生されている現在の曲を「artist-track」の形式で返すスクリプトがあります。私がやりたいのは、その文字列を取得して2つの文字列に分割することです:artistとtrack、それを行うために、私は次のようにサーバータグでスクリプトをラップしました:

<div id="nowPlaying" runat="server">
<script type="text/javascript" src="http://shoutcast.mixstream.net/js/song/uk3-free:34588"></script>     
</div>

そして、背後にあるコードで、私は次のようなことをしました:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim query() As String = nowPlaying.InnerText.Split("-")
        Dim artist As String = query(0)
        Dim track As String = query(1)
        Response.Write(artist + "<br />" + track)

    End Sub

問題は、何らかの理由で文字列配列が常に空であるということです。実際、操作(remove、substring、lastIndexOfなど)をまったく行うことができず、常に空のように見えます。

しかし、文字列を操作しない場合はすべて問題なく、次のように文字列を表示できます。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim query As String = nowPlaying.InnerText
        Response.Write(query)

 End Sub

なぜ何かアイデア?

4

3 に答える 3

1

これを使って...

Dim request As HttpWebRequest = WebRequest.Create("http://shoutcast.mixstream.net/js/song/uk3-free:34588")
Dim response As HttpWebResponse = request.GetResponse()
Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
Dim sTrim = reader.ReadToEnd()

reader.Close()
sTrim=sTrim.Replace("document.write('","")
sTrim=sTrim.SubString(0,sTrim.length-3)
Dim query() As String = sTrim.Split("-")

これにより、jsファイルが文字列として読み込まれ、document.write構文が削除されて、アーティストタイルのままになります。

于 2010-10-23T12:05:58.787 に答える
0

試す:

Dim query() As String = nowPlaying.InnerText.Split(New [Char]() {"-"c})
于 2010-10-23T10:18:34.413 に答える
0

ちょっとした刺し傷ですが、試してみてください:

Dim sTrim as String = nowPlaying.InnerText
sTrim=sTrim.Replace("document.write('","")
sTrim=sTrim.SubString(0,sTrim.length-3)
Dim query() As String = sTrim.Split("-")
于 2010-10-23T10:41:36.633 に答える