Изменить источник HTML в winforms - PullRequest
0 голосов
/ 25 марта 2012

У меня есть структура ниже для HTML-страницы

<video controls="controls" width="480" height="208" id="video1">
        <source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
        <source src="http://devfiles.myopera.com/articles/2642/sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>

Нет проблем в приведенном выше коде.Мне нужно заменить src видео тем, которое я выбрал на локальном ресурсе (например, с рабочего стола или любой другой папки), используя OpenfileDialog и заменить имя файла с его расширением вместо src="http://".Например, если был выбран mymovie.mp4, я бы прочитал файл шаблона html и заменил тег src этого видео на mymovie.mp4.

Так как мне его изменить?

Ответы [ 2 ]

0 голосов
/ 25 марта 2012

Вы можете использовать JavaScript следующим образом: 1. Измените свой HTML-код:

<video id="myVideo" controls="controls" width="480" height="208" id="video1">

2. Реализуйте эту функцию:

function gid(id){
    var d=document;
    if(d.getElementById){
        return d.getElementById(id);
    }
    else if(d.all){
        return d.all[id];
    }
    else if(d.layers){
        return d.layers[id];
    }
    return null;
}
function changeVideoContent(){
    var content = '<source src="http://... and all you desire...';
    gid("myVideo").innerHTML  = content;
}

3. Свяжите функцию changeVideoContent с вашей формой, используя onSubmit, onClick или другие события.

0 голосов
/ 25 марта 2012

Я думаю, что здесь может сработать регулярное выражение:

Dim m As Match = Regex.Match(inputString, _
                 @"<source src=\"(.*?)\"", _
                 RegexOptions.IgnoreCase)

If (m.Success) Then
        ' Loop through each group (which will contain the href value)
        ' Open with that href and just do a replace on the original string
        ' m.Groups(1).Value
End If

Или вы можете загрузить HTML в XmlDocument и заменить его таким образом.

Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode

' Create the XML Document
m_xmld = New XmlDocument()

' Load the Xml file
m_xmld.Load("html string here")

' Get the list of name nodes 
m_nodelist = m_xmld.SelectNodes(@"//video/source")

For Each m_node In m_nodelist
' Get the attribute value
Dim srcValue = m_node.Attributes.GetNamedItem("src").Value

' Load the value and store new value
' Replace the attribute with the new
m_node.Attributes.SetNamedItem(NEWVALUE)

Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...