libxml2 получить внутренний (X) HTML - PullRequest
0 голосов
/ 17 мая 2011

У меня есть некоторые образцы данных XHTML, например:

<html>
    <head>
        <style type="text/css">
            ..snip
        </style>
        <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.js"></script>
    </head>
    <body>
        <div id="contentA">
             This is sample content <b> that is bolded as well </b>
        </div>
    </body>
</html>

Теперь, что мне нужно сделать, это использовать xmlNode *, получить внутренний HTML-код div contentA. У меня есть xmlNode * для этого, но как я могу получить innerXML этого? Я посмотрел на контент, но он возвращает только This is sample content, а не xml в полужирных тегах. Я искал jQuery для этого, но из-за ограничений на Apple и JavaScript я не могу использовать jQuery для получения innerXML этого узла.

На другом замечании: есть ли другая библиотека, которую я должен использовать для получения внутреннего XML? Я посмотрел в TBXML, но с той же проблемой.

1 Ответ

0 голосов
/ 17 мая 2011

Содержимое узла div не является отдельной текстовой строкой. Вероятно, он состоит из:

  1. Текстовый узел, содержащий This is sample content (с предыдущей новой строкой).
  2. узел элемента с именем тега b
  3. Текстовый узел, содержащий завершающую новую строку и отступ до закрывающего тега div.

Узел элемента для <b>...</b> будет иметь текстовое содержимое that is bolded as well.

Чтобы получить весь текст в div в виде одной строки, вам нужно рекурсивно спускаться по всему дереву дочерних узлов в поисках текстового содержимого.

...