2017-06-09 1 views
0

Je veux savoir comment puis-je utiliser HtmlAgilityPack pour injecter un certain contenu HTML prédéfini (par exemple une annonce) dans un endroit aléatoire dans un article HTML après la fermeture du paragraphe et le faire une seule fois?Injecter un code dans un endroit aléatoire après un paragraphe en utilisant HtmlAgilityPack

L'article peut contenir plusieurs paragraphes. Le code injecté doit choisir un paragraphe aléatoire et mettre le code après.

Ceci est mon code à ce jour:

public string InjectAHtmlRandomallyIntoArticle(string originalArticleHtmlCode, 
               string HtmlToInject) 
{ 
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
    doc.LoadHtml(input); 
    HtmlAgilityPack.HtmlNodeCollection pars = 
      new HtmlAgilityPack.HtmlNodeCollection(doc.DocumentNode.ParentNode); 
    pars = doc.DocumentNode.SelectNodes("//p"); 


    foreach(HtmlAgilityPack.HtmlNode par in pars) 
    { 

    } 
} 

Je ne sais pas où yo continue à partir de là.

+1

La réponse à votre question est affirmative. Vous devriez essayer une implémentation et revenir avec une question plus spécifique quand vous vous déconnectez. – spender

+0

@spender J'ai ajouté le code et où je suis coincé. –

Répondre

1

Cela n'a pas besoin de caractère aléatoire au niveau de la crypto, donc le bon vieux Random suffira.

Random rnd = new Random(); 
//Next returns a value smaller than it's argument 
pars[rnd.Next(par.Length)].Append(your add); 
+0

HtmlNode n'a pas une fonction appelée "Append" –

+1

Eh bien, je ne sais pas html-agility-pack, j'ai pensé que votre question était plus sur la partie aléatoire. Essayez AppendChild puis. – 0xFF