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

    Ich habe die unten Struktur für eine HTML-Seiteändern HTML-Quelle in 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> 
    

    Es gibt kein Problem in dem obigen Code. Ich muss die src des Videos durch die ersetzen, die ich aus der lokalen Ressource (d. H. Von Desktop oder einem anderen Ordner) mit OpenfileDialog auswähle und ersetzen Sie den Dateinamen mit seiner Erweiterung anstelle von src="http://". Wenn zum Beispiel mymovie.mp4 ausgewählt wurde, würde ich die HTML-Vorlagendatei lesen und das src-Tag dieses Videos durch mymovie.mp4 ersetzen.

    Also, wie ändere ich es?

    Antwort

    0

    Ich denke, entweder eine regex könnte hier arbeiten:

    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 
    

    Oder könnten Sie den HTML-Code in ein XmlDocument laden und es auf diese Weise zu ersetzen.

    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

    können Sie verwenden JavaScript wie folgt aus: 1. Ändern Sie Ihre HTML-Code:

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

    2. Implementieren Sie diese Funktionen:

    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 Funktion mit dem Formular Verwenden von onSubmit, onClick oder anderen Ereignissen.

    Verwandte Themen