Utilisation de C # J’aimerais savoir comment obtenir la valeur Textbox (c’est-à-dire: john) de cet exemple de script html:
Name :
- Comment copier un fichier en cours d’utilisation par un autre processus
- SetWindowsHookEx en C #
- Est-ce que .NET FtpWebRequest supporte à la fois implicite (FTPS) et explicite (FTPES)?
- StreamReader et à la recherche
- Qu’est-ce que IMEX dans la chaîne de connexion OLEDB?
Il existe plusieurs façons de sélectionner des éléments à l’aide du pack d’agilité.
Supposons que nous ayons défini notre document HtmlDocument
comme suit:
ssortingng html = @" Name : "; HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(html);
1. LINQ simple
Nous pourrions utiliser la méthode Descendants()
, en passant le nom d’un élément que nous recherchons:
var inputs = htmlDoc.DocumentNode.Descendants("input"); foreach (var input in inputs) { Console.WriteLine(input.Atsortingbutes["value"].Value); // John }
2. LINQ plus avancé
Nous pourrions affiner cela en utilisant l’amateur LINQ:
var inputs = from input in htmlDoc.DocumentNode.Descendants("input") where input.Atsortingbutes["class"].Value == "box" select input; foreach (var input in inputs) { Console.WriteLine(input.Atsortingbutes["value"].Value); // John }
3. XPath
Ou nous pourrions utiliser XPath .
ssortingng name = htmlDoc.DocumentNode .SelectSingleNode("//td/input") .Atsortingbutes["value"].Value; Console.WriteLine(name); //John
HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); XPathNavigator docNav = doc.CreateNavigator(); XPathNavigator node = docNav.SelectSingleNode("//td/input/@value"); if (node != null) { Console.WriteLine("result: " + node.Value); }
J’ai écrit cela assez rapidement et vous voudrez peut-être faire des tests avec plus de données.
NOTE: Les chaînes XPath doivent apparemment être en minuscules.
EDIT: Apparemment, la version bêta prend maintenant en charge directement Linq to Objects, le convertisseur n’est donc probablement pas nécessaire.
- GMail SMTP via des erreurs C # .Net sur tous les ports
- Comment créer un contrôle de navigateur de dossiers de type Explorer?
- La limitation de la taille d’un tableau .Net
- Pourquoi la fermeture d’une console démarrée avec AllocConsole entraîne-t-elle la fermeture de toute l’application? Puis-je changer ce comportement?
- Méthode statique ou non statique
- comment retarder l’arrêt et exécuter un processus dans le service de fenêtre
- Stratégie COMID GUID dans EF
- Comment diviser un IEnumerable en groupes de IEnumerable
- Comment passer des parameters à l’action personnalisée?
- Couleur des éléments individuels dans une ComboBox Winforms?