25 Document::Document() {
30 Document::~Document() {
34 Element Document::getRootElement()
39 void Document::setRootElement(
Element root)
45 string Document::getDocType()
const
50 void Document::setDocType(
string docType)
52 this->docType = docType;
54 Element Document::getElementByName(
string name)
56 Element ele = getElementByName(name,this->root);
61 if(ele.getTagName()==name)
65 typedef vector<Element> ElementList;
66 ElementList chi = ele.getChildElements();
67 for(
unsigned int i=0;i<chi.size();i++)
69 Element ele1 = getElementByName(name,chi.at(i));
75 nullele.setTagName(
"&#@^_NULL_&#@^");
78 string Document::render()
80 string rend = this->docType;
81 Element element = this->getRootElement();
82 rend.append(generateStartOpenTag(element.getTagName()));
83 rend.append(generateAttributes(element.getAttributes()));
84 rend.append(generateEndOpenTag());
85 rend.append(element.getText());
86 ElementList elements = element.getChildElements();
87 for(
unsigned int i=0;i<elements.size();i++)
89 rend.append(elements.at(i).render());
91 rend.append(generateCloseTag(element.getTagName()));