如何通过嵌套类构建带有标签的字符串?
大家好!
你能帮我用嵌套类构建一个html文档吗?
主要目的是用这样的 html 标记构建一个字符串
<html>
<div>
<p>123</p>
<div>
<div>
123
<a>123</a>
<div>
</div>
</div>
</html>
我有一个包含以下文件的 DOMElement 类:
class DOMElement {
TagName :string;
TextContent: string | null;
Attributes: string[];
AttributesValue: string[];
Children: DOMElement[]; // stored nested tags;
}
所以我已经有了这个类的文档的 dom 结构,我想把它返回到标记中
为此我使用了错误的方法
public convertToHtml(domTree: DOMElement, str: string = ''): string {
if (domTree.Children.length != 0) {
domTree.Children.forEach(x => {
let attributes = '';
x.Attributes.forEach((attr, index) => {
attributes += attr + '=' + `${x.AttributesValue[index]}"`;
});
if (x.Children.length != 0) {
x.TextContent = ''
}
str += `<${x.TagName.toLowerCase()} ${'attributes'}>${this.convertToHtml(x,str)}${x.TextContent}</${x.TagName.toLowerCase()}>`
});
}
return str;
}
如何修复此递归以使其返回标记结构?或者它有其他选项来创建带有嵌套对象的标记?
谢谢!
获取结果 html 正文