HTML Agility Pack получает только внутренний текст для собственного элемента

#html #dom #html-agility-pack

#HTML #dom #html-пакет гибкости

Вопрос:

Также в названии уже сказано: мне нужно только «значение» текущего XmlNode. Не весь внутренний текст всех вложенных элементов.

 <Bla>
asdf
    <blub>
    123
    </blub>
</Bla>
  

В приведенном выше примере «Внутренний текст» элемента «Bla» также вернет «123», даже если он вложен в элемент «blub».

Я уже нашел несколько сообщений, где используется «//text()», но для меня это возвращает также все «текстовые» элементы подпунктов…

Это также не помогает использовать первый элемент списка, возвращаемый при serarching с помощью «text()», поскольку мой желаемый текст не всегда находится в первом расположении, поскольку также могут быть некоторые элементы » r n». Да, я знаю, это было бы легко удалить, но, может быть, кто-нибудь может указать мне на более прямое решение?!

Ответ №1:

Своего рода взлом, но одной из возможностей было бы получить внутренний текст элемента «Bla», а затем получить внутренний текст элемента «blub», а затем просто удалить «blub» из «Bla» с помощью … InnerTextOfblub.tostring.Обрезать (InnerTextOfBla) … или что-то в этом роде.

Я также предполагаю, что вы не можете изменить исходные теги? …так что «asdf» был бы в теге like…

 <bla>
    <newTag>asdf</newTag>
    <blub>123</blub>
</Bla>
  

Комментарии:

1. Это хорошая идея! Спасибо! Но разве нет никакого «прямого» способа? Для меня это было бы «нормальным» поведением, но я также понимаю, почему это реализовано именно таким образом.

2. Я думаю, я не получаю другого ответа, и вы действительно помогли мне… Итак, я принимаю это! Спасибо!