• 3069阅读
  • 0回复

[提问]Qt使用dom对xml进行操作有的别的方法自动填写xml中的 [复制链接]

上一主题 下一主题
离线mirro
 
只看楼主 正序阅读 楼主  发表于: 2012-04-23
  1. #include<QDomDocument>
  2. #include<QDomElement>
  3. #include<QFile>
  4. #include<QTextStream>
  5. #include<iostream>
  6. using namespace std;
  7. void writeDom(){
  8. QFile file("dom.xml");
  9. if(not file.open(QIODevice::ReadWrite))
  10. return;
  11. QDomDocument doc;
  12. QDomElement startElem = doc.createElement("Start");
  13. doc.appendChild(startElem);
  14. startElem.setAttribute("animinal","cat");
  15. QDomElement bookElem = doc.createElement("book");
  16. bookElem.appendChild(doc.createTextNode("book1"));
  17. startElem.appendChild(bookElem);
  18. QTextStream out(&file);
  19. doc.save(out,3);
  20. file.close();
  21. }
  22. void readDom(){
  23. QFile file("dom.xml");
  24. if(not file.open(QIODevice::ReadWrite))
  25. return;
  26. QDomDocument doc;
  27. doc.setContent(&file);
  28. QDomElement startElem = doc.documentElement();
  29. cout << "animainal:";
  30. cout << startElem.attribute("animinal").toStdString() << endl;
  31. cout << "book:";
  32. cout << startElem.firstChildElement("book").text().toStdString() << endl;
  33. file.close();
  34. }
  35. int main()
  36. {
  37. writeDom();
  38. readDom();
  39. }
  1. <?xml version="1.0" encoding="UTF-8"?> animinal吗?
  2. <Start animinal="cat">
  3. <book>book1</book>
  4. </Start>

startElem.attribute("animinal").toStdString() 代码中的animinal是xml中的?
快速回复
限100 字节
 
上一个 下一个