【问题标题】:tinyxml2 XMLElement constructor private?tinyxml2 XMLElement 构造函数私有?
【发布时间】:2017-11-14 19:00:19
【问题描述】:

TinyXml 中,您可以创建一个Element,例如TiXmlElement("tag"), 但是在TinyXml2 中没有XMLElement 的公共构造函数?

你如何创建元素?

【问题讨论】:

    标签: tinyxml2


    【解决方案1】:

    你在文档的上下文中创建一个元素,所以调用

    tinyxml2::XMLElement * tinyxml2::XMLDocument::NewElement (const char * name).

    例如创建一个新元素并将其添加为现有元素的子元素e

    XMLElement * new = e -> GetDocument() -> NewElement ("tag");
    e -> InsertFirstChild (new);
    

    或者,要一步完成,您可以在 my tinyxml2 extension 中查找 append_element

    【讨论】:

      【解决方案2】:

      与现有答案类似,我为我的应用程序编写了这个帮助实用程序:

      tinyxml2::XMLElement* CChristianLifeMinistryEntry::InsertNewElement(tinyxml2::XMLDocument& rDoc, tinyxml2::XMLElement*& pParent, LPCSTR strElement, CString strValue)
      {
          XMLElement *pElement = rDoc.NewElement(strElement);
      
          USES_CONVERSION;
      
          if (pElement == nullptr)
              AfxThrowMemoryException();
      
          pElement->SetText(CT2CA(strValue, CP_UTF8));
          pParent->InsertEndChild(pElement);
      
          return pElement;
      }
      

      它会自动将一个新的子元素添加到列表的末尾。此外,它还为元素设置文本值。

      【讨论】:

        猜你喜欢
        • 2011-04-20
        • 2019-10-16
        • 1970-01-01
        • 2011-02-08
        • 2011-09-13
        相关资源
        最近更新 更多