2014-11-22 2 views
0

Я хочу разобрать полных детей HTML и его детей, в которых у меня не будет атрибута id, помещенного в тег.Как получить html детей

Для например:

<html> 
<head> 
    <script> 
    function blah(){ 
     alert("hi"); 
    } 
    </script> 
    <style> 
    body{ 
     font:10px; 
    } 
    </style> 
</head> 
<body> 
    <h1> My Header </h1> 
    <div class="container"> 
     <div class="colone">Hai22</div> 
     <div class="coltwo">Hai44</div> 
    </div> 
</body> 
</html> 

Теперь я хотел бы разобрать весь HTML и получить его дети один за другим, и превратить его в JSON строку. как

{ 
    "html":{ 
     "head":{ 
       "script": 
      . 
      . 
      . 
      . 
      . 
      . 
      . 
} 
+0

Duplicate question: http://stackoverflow.com/questions/2303713/how-to-serialize-dom-node-to-json – Kolban

+2

Почему вы хотите конвертировать в json .. по какой-либо причине? – Girish

ответ

0

Это не представляется возможным, так как HTML (или XML-подобный) дерево имеет различные ограничения для объектной модели JavaScript/JSON. В частности, каждый «дочерний» тег должен быть уникальным в родительском. Это не является действительным JSON:

"section": { 
    "div": { ... }, 
    "div": { ... }, 
    "div": { ... } 
} 

Вы не можете иметь три атрибута объекта под названием "div". В конце концов, вы должны хранить списки объектов, что-то вроде:

{ 
    "tagname": "section", 
    "children": [ 
     { "tagname": "div", 
      "children": ... } 
    ... 
    ] 
} 

После того, как вы получите этот момент преобразования в значительной степени бессмысленно. Используйте стандартную библиотеку разбора DOM на вашем любимом языке программирования.

+0

Спасибо за ответ @Tom, я добавлю id div к значению ключа в json ... мне нужно преобразовать javascript jquery ... это возможно? – pathfinder

Смежные вопросы