Как отобразить содержимое тега в HtmlDocument?

164
06 марта 2021, 14:30

У меня проблема с парсингом HtmlDocument по какой то причине не могу войти в <td width="300px"> </td>

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(@"<form action="""" method=""post"" name="""">
            <table cellpadding=""0"" cellspasing=""0"" id=""project"">
                <tr>
                    <td>
                        <div class=""panel"">
                            <img class=""avatar"" src="""">
                            <div class=""pos"">
                                <br>
                            </div>
                            <span class=""logo""></span>
                        </div>
                    </td>
                    <td style=""padding-right: 32px; width: 404px;"">
                        <input type=""text"" name=""login"" maxlength=""21"" placeholder="""" >
                    </td>
                    <td width=""300px"">
                        <input type=""hidden"" name=""token""value="""">
                        <input type=""hidden"" name=""secure"" value="""">
                        <input type=""hidden"" name=""id"" value="""">
                        <input type=""hidden"" name=""code"" value="""">
                        <input type=""hidden"" name=""hash"" value="""">
                        <span id=""buttonrate"" class=""button_blue"" onClick=""document.saverate.submit();""></span>
                    </td>
                </tr>
            </table>
        </form>");
textBox3.Text = doc.DocumentNode.SelectNodes("/form/table/tr/td[3]")[0].OuterHtml;

Я пробовал xPath "/form/table/tr/td[3]/td" но не получалось
Он должен вытянуть:

<input type="hidden" name="token"value="">
<input type="hidden" name="secure" value="">
<input type="hidden" name="id" value="">
<input type="hidden" name="code" value="">
<input type="hidden" name="hash" value="">
<span id="buttonrate" class="button_blue" onClick="document.saverate.submit();"></span>
Answer 1

Чтобы получить содержимое элемента используйте InnerHtml:

doc.DocumentNode.SelectNodes("/form/table/tr/td[3]")[0].InnerHtml;

OuterHtml включает в себя элемент и содержимое, InnerHtml — только содержимое.

READ ALSO
Как я могу заменить public GameObject из другого скрипта?

Как я могу заменить public GameObject из другого скрипта?

Как я могу заменить public GameObject из другого скрипта? Я должен сначала "найти скрипт" и потом передать ему другое значение или же есть более простой...

116
Как отловить зажатие клавиши Alt в событии MouseDown

Как отловить зажатие клавиши Alt в событии MouseDown

Имеется DataGrid (WinForms), в нем выводится список сущностейПри выборе сущности, в событии

186
C# ASP.NET Signalr OnConnected OnDisconnected

C# ASP.NET Signalr OnConnected OnDisconnected

Во время разработки возникла проблема, и есть подозрения что метод OnDisconnected может вызваться асинхронно до того как завершится метод OnConnected,...

131
DataGridViewComboboxCell отобразить список [закрыт]

DataGridViewComboboxCell отобразить список [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

185