2014-11-22 155 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

重複的問題:http://stackoverflow.com/questions/2303713/how-to-serialize-dom-node-to-json – Kolban 2014-11-22 16:25:19

+2

爲什麼你想轉換成json ..任何理由? – Girish 2014-11-22 16:26:15

回答

0

這是不可能的,因爲HTML(或類似XML)樹有給Javascript/JSON對象模型不同的限制。具體而言,每個「孩子」標籤在父代中必須是唯一的。這是無效的JSON:

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

您不能有一個名爲"div"的對象的三個屬性。最後,你必須存儲對象列表,如:

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

一旦你到達那一點,轉換幾乎沒有意義。以您最喜歡的編程語言使用標準的DOM解析庫。

+0

感謝您的答覆@湯姆,我會追加div id到json中的鍵值...我需要通過javascript jquery轉換...這可能嗎? – pathfinder 2014-11-23 09:34:49