欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

dom 轉 json

錢多多2年前9瀏覽0評論

DOM是指Document Object Model,它是對HTML或XML文檔的邏輯結構的抽象表示。 在Web瀏覽器中,DOM提供程序matic方式訪問和修改HTML或XML文檔的內容,結構和樣式。 我們可以通過JS DOM API將這個樹狀結構轉換為JSON。 這有助于輕松地處理數據并將其傳遞給其他應用程序。

// 創建一個DOM樹結構
const tree = document.createElement("div");
const node1 = document.createElement("p");
node1.textContent = "Hello";
const node2 = document.createElement("p");
node2.textContent = "World";
tree.appendChild(node1);
tree.appendChild(node2);
// 將DOM轉化為JSON
function dom2json(node) {
const obj = {};
obj.type = node.nodeName.toLowerCase();
const attrs = node.attributes;
const attrObj = {};
for (let i = 0; i< attrs.length; i++) {
const attribute = attrs[i];
attrObj[attribute.nodeName] = attribute.nodeValue;
}
obj.attributes = attrObj;
const childNodes = node.childNodes;
if (childNodes.length) {
const children = [];
for (let i = 0; i< childNodes.length; i++) {
const childNode = childNodes[i];
if (childNode.nodeType === Node.ELEMENT_NODE) {
children.push(dom2json(childNode));
} else if (childNode.nodeType === Node.TEXT_NODE) {
children.push(childNode.nodeValue);
}
}
obj.children = children;
}
return obj;
}
console.log(JSON.stringify(dom2json(tree)));

上面的代碼將DOM樹轉換為JSON對象。節點的類型和屬性作為JSON對象的屬性,子節點則作為數組。這涉及遞歸地遍歷DOM樹,以確保我們創建了一個正確的JSON對象。 這由于我們正在處理遞歸問題,因此我們使用函數遞歸,以便我們將DOM樹轉換為JSON。

在處理復雜的DOM樹時,DOM樹轉換為JSON是一個非常有用的技術。 您可以通過這種方式輕松地操作和傳遞數據,從而實現更高效的編程。