.NET 4.x AngleSharp имя Нода - C#

Узнай цену своей работы

Формулировка задачи:

Собственно получаю Нод, но не могу разобраться как получить его имя (Name)
Интересующий кусок html
<div class="info"><h2 class="no">Вопрос <span class="qno">1</span></h2><div class="state">Пока нет ответа</div><div class="grade">Балл: 1</div><div class="questionflag editable" aria-atomic="true" aria-relevant="text" aria-live="assertive"><input type="hidden" name="q14093277:5_:flagged" value="0"><input type="checkbox" id="q14093277:5_:flaggedcheckbox" name="q14093277:5_:flagged" value="1"><input type="hidden" value="qaid=226993938&amp;qubaid=14093277&amp;qid=278357&amp;slot=5&amp;checksum=e2da55c038c01a65cae579c12ede02aa&amp;sesskey=r4SC4yCNcs&amp;newstate=" class="questionflagpostdata"><label id="q14093277:5_:flaggedlabel" for="q14093277:5_:flaggedcheckbox"><img src="https://lms.mti.edu.ru/theme/image.php?theme=mtimeta&amp;image=i%2Funflagged&amp;rev=758" alt="Не отмечено" id="q14093277:5_:flaggedimg"></label>
</div></div><div class="content"><div class="formulation"><h3 class="accesshide">Текст вопроса</h3><input type="hidden" name="q14093277:5_:sequencecheck" value="1"><div class="qtext">                Какой документ применяют в случае перевозки материалов автотранспортом?      </div><div class="ablock"><div class="prompt">Выберите один ответ:</div><div class="answer"><div class="r0"><input type="radio" name="q14093277:5_answer" value="0" id="q14093277:5_answer0"><label for="q14093277:5_answer0">накладные на отпуск материалов на сторону</label> </div>
<div class="r1"><input type="radio" name="q14093277:5_answer" value="1" id="q14093277:5_answer1"><label for="q14093277:5_answer1">квитанции к железнодорожной накладной</label> </div>
<div class="r0"><input type="radio" name="q14093277:5_answer" value="2" id="q14093277:5_answer2"><label for="q14093277:5_answer2">товарно-транспортную накладную</label> </div>
</div></div></div></div>

Решение задачи: «.NET 4.x AngleSharp имя Нода»

textual
Листинг программы
using AngleSharp.Parser.Html;
using System;
using System.Collections.Generic;
using System.Linq;
 
public class Program
{
    public static void Main()
    {
        string html = @"<div class=""info""><h2 class=""no"">Вопрос <span class=""qno"">1</span></h2><div class=""state"">Пока нет ответа</div><div class=""grade"">Балл: 1</div><div class=""questionflag editable"" aria-atomic=""true"" aria-relevant=""text"" aria-live=""assertive""><input type=""hidden"" name=""q14093277: 5_:flagged"" value=""0""><input type=""checkbox"" id=""q14093277: 5_:flaggedcheckbox"" name=""q14093277: 5_:flagged"" value=""1""><input type=""hidden"" value=""qaid = 226993938 & amp; qubaid = 14093277 & amp; qid = 278357 & amp; slot = 5 & amp; checksum = e2da55c038c01a65cae579c12ede02aa & amp; sesskey = r4SC4yCNcs & amp; newstate = "" class=""questionflagpostdata""><label id=""q14093277: 5_:flaggedlabel"" for=""q14093277: 5_:flaggedcheckbox""><img src=""https://lms.mti.edu.ru/theme/image.php?theme=mtimeta&image=i%2Funflagged&rev=758"" alt=""Не отмечено"" id=""q14093277:5_:flaggedimg""></label>
</div></div>< div class=""content""><div class=""formulation""><h3 class=""accesshide"">Текст вопроса</h3><input type = ""hidden"" name= ""q14093277:5_:sequencecheck"" value= ""1"">< div class=""qtext"">                Какой документ применяют в случае перевозки материалов автотранспортом?      </div><div class=""ablock""><div class=""prompt"">Выберите один ответ:</div><div class=""answer""><div class=""r0""><input type = ""radio"" name=""q14093277:5_answer"" value=""0"" id=""q14093277:5_answer0""><label for=""q14093277:5_answer0"">накладные на отпуск материалов на сторону</label> </div>
<div class=""r1""><input type = ""radio"" name=""q14093277:5_answer"" value=""1"" id=""q14093277:5_answer1""><label for=""q14093277:5_answer1"">квитанции к железнодорожной накладной</label> </div>
<div class=""r0""><input type = ""radio"" name=""q14093277:5_answer"" value=""2"" id=""q14093277:5_answer2""><label for=""q14093277:5_answer2"">товарно-транспортную накладную</label> </div>
</div></div></div></div>";
 
        string infoSelect = @".info";
 
        var parser = new HtmlParser();
        var document = parser.Parse(html);
 
        var info = document.QuerySelectorAll(infoSelect);
        var result = info.Select(element => element.QuerySelector("input")?.LocalName);
 
        Console.WriteLine(string.Join(" ", info.Select(element => element.QuerySelector("input")?.GetAttribute(@"name"))));
        Console.WriteLine(string.Join(" ", string.Join(" ", result)));
 
        result = info.Select(element => element.QuerySelector("input")?.NodeName);
        Console.WriteLine(string.Join(" ", string.Join(" ", result)));
 
        Console.ReadKey();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы