SOURCE

console 命令行工具 X clear

                    
>
console
var hts = $("#par-0002")[0].outerHTML
var dom =$(hts)[0];

var xml = htmlToXml(dom);
$("#textareas").val(xml);
function htmlToXml(dom) {

    dom = contentsToPara(dom);
    dom = h3ToTitle(dom);
    divToStep(dom);
    return dom.innerHTML;

}

var en1Reg = new RegExp("\n", "g");
var en2Reg = new RegExp("\t", "g");
function contentsToPara(dom) {
    var childNodes = dom.childNodes;
 
for (var i = 0; i < childNodes.length; i++) {
            var childNode = childNodes[i];
            var childNode2 = childNode.childNode;
            if (childNode != undefined) {
                contentsToPara(childNode);
            }

            if (dom.className == "item") {
                if (childNode.nodeName == "#text") {
                    var data = childNode.data;
                    data = data.replace(en1Reg, "")
                    data = data.replace(en2Reg, "")

                    if (data.trim() == "") {
                        $(childNode[i]).remove();
                    } else {
                        $(childNodes[i]).replaceWith("<para>" + childNodes[i].textContent + "</para>")
                    }

                }
            }


        }
        
    return dom;
}

function h3ToTitle(dom) {
    var h3s = $(dom).find("h3");
    for (var i = 0; i < h3s.length; i++) {
        $(h3s[i]).replaceWith("<title>" + h3s[i].innerHTML + "</title>")
    }
    h3s = $(dom).find("h3");
    return dom;
}



function divToStep(dom) {
    var divs = $(dom).find("div");
    for (var i = 0; i < divs.length;i++) {
        var div = divs[i];
        if (div.className == "reset") {
            console.log(i)
            $(divs[0]).replaceWith("<proceduralStep>" + divs[0].innerHTML + "</proceduralStep>")
        }else{
        i++
        }
        
    }
    
}
<div class="item" id="par-0002">asdasdas<br>
	<div class="reset">
		<h3 class="h3item">标题</h3>
		<div class="item">asdasdasda<br>
			<div class="reset">
				<h3 class="h3item">标题</h3>
				<div class="item">asdasdasd<br>
					<div class="reset">
						<h3 class="h3item">标题</h3>
						<div class="item">sadasd</div>
					</div>
				</div>
			</div>
		</div>
		<h3 class="h3item">标题</h3>
		<div class="item">asdasda</div>
		<h3 class="h3item">标题</h3>
		<div class="item">asdasd</div>
	</div>
</div>
<textarea id="textareas" style="width:100%;height:300px"></textarea>
.reset {
    line-height: 1.6;
    counter-reset: itemcounter;
    border: 1px dashed lightgray;
}

.item > .reset  {
    padding-left: 20px;
}



.h3item:before {
    content: counters(itemcounter,
    ".") ".";
    counter-increment: itemcounter;
}

本项目引用的自定义外部资源