html
  • vb.net
  • winforms
  • 2012-03-25 3 views 0 likes 
    0

    У меня есть ниже структуры для HTML страницыИзменить HTML источник в WinForms

    <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.

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

    ответ

    0

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

    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 
    
    0

    Вы можете использовать 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. Bind changeVideoContent с формой используя onSubmit, onClick или другие события.

    Смежные вопросы