如何获得html孩子

时间:2014-11-22 16:24:12

标签: jquery html

我想解析完整的HTML子项及其子项,其中我不会将任何属性ID放置到标记。

例如:

<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":  
            .
            .
            .
            .
            .
            .
            .
}

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为HTML(或类似XML)树对Javascript / JSON对象模型有不同的限制。具体来说,每个孩子都有一个孩子。标签在父级中必须是唯一的。这不是有效的JSON:

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

您不能拥有名为"div"的对象的三个属性。最后,您必须存储对象列表,例如:

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

一旦达到这一点,转换就毫无意义。使用您喜欢的编程语言中的标准DOM解析库。