IXMLDOMDocumentPtr 类型求解
今天在学习对xml进行操作的时候,发现IXMLDOMDocumentPtr 这个很奇怪,不知道IXMLDOMDocumentPtr 到底是指针还是一般类型,IXMLDOMDocumentPtr 展开后为:_com_ptr_t<_com_IIID<IXMLDOMDocument, __uuidof(IXMLDOMDocument)>>,代码中有
IXMLDOMDocumentPtr pDoc;
那么这个pDoc到底是指针还是一般的变量呢,如果是指针,他怎么可以通过点运算符调用成员函数呢,如果是一般变量,他又怎么可以通过指向运算符调用成员函数呢?还望各位c++大牛不吝赐教,在此先谢过各位。
void xml_creat()
{
IXMLDOMDocumentPtr pDoc;
HRESULT hr = pDoc.CreateInstance(__uuidof(DOMDocument));
if(!SUCCEEDED(hr))
{
cout << "unable to creat DOMDocument object" << endl;
xml_exit();
}
IXMLDOMElementPtr pDocElement = pDoc -> createElement("China");
pDoc -> appendChild(pDocElement);
cout << "root: " << pDoc -> xml << endl;
IXMLDOMElementPtr pNewChildElement;
pNewChildElement = pDoc -> createElement("beijing");
pNewChildElement -> Puttext("-11");
cout << "s: " << pDoc -> xml << endl;
pDocElement -> appendChild(pNewChildElement);
cout << "e : " << pDoc -> xml << endl;
pNewChildElement = pDoc -> createElement("shanghai");
pNewChildElement -> Puttext("-12");
cout << "s: " << pDoc -> xml << endl;
pDocElement -> appendChild(pNewChildElement);
cout << "e : " << pDoc -> xml << endl;
pDoc -> save(".//test1.xml");
}
IXMLDOMDocumentPtr pDoc;
那么这个pDoc到底是指针还是一般的变量呢,如果是指针,他怎么可以通过点运算符调用成员函数呢,如果是一般变量,他又怎么可以通过指向运算符调用成员函数呢?还望各位c++大牛不吝赐教,在此先谢过各位。
void xml_creat()
{
IXMLDOMDocumentPtr pDoc;
HRESULT hr = pDoc.CreateInstance(__uuidof(DOMDocument));
if(!SUCCEEDED(hr))
{
cout << "unable to creat DOMDocument object" << endl;
xml_exit();
}
IXMLDOMElementPtr pDocElement = pDoc -> createElement("China");
pDoc -> appendChild(pDocElement);
cout << "root: " << pDoc -> xml << endl;
IXMLDOMElementPtr pNewChildElement;
pNewChildElement = pDoc -> createElement("beijing");
pNewChildElement -> Puttext("-11");
cout << "s: " << pDoc -> xml << endl;
pDocElement -> appendChild(pNewChildElement);
cout << "e : " << pDoc -> xml << endl;
pNewChildElement = pDoc -> createElement("shanghai");
pNewChildElement -> Puttext("-12");
cout << "s: " << pDoc -> xml << endl;
pDocElement -> appendChild(pNewChildElement);
cout << "e : " << pDoc -> xml << endl;
pDoc -> save(".//test1.xml");
}
...全文
相关推荐
XML解析器安装包
当我们在MFC项目中#import <msxml4.dll>时,编译器会自动生成对应的类型库,使得我们可以直接调用IXMLDOMDocumentPtr类的方法,而无需手动进行COM对象的创建和释放。
vc xml 读取
#include <msxml.h> #import <msxml4.dll>//读取XML文档MSXML2::IXMLDOMDocumentPtr pDoc; //创建文档对象MSXML2:
visual c++ VC操作读写XML
IXMLDOMDocumentPtr doc; IXMLDOMNodePtr node; // 加载XML文件 hr = doc.CreateInstance(__uuidof(DOMDocument30
C++解析xml文档或者xml字符串方法
同样使用MSXML库,但这次需要将XML字符串转换为`BSTR`类型,然后传递给解析函数:```cppvoid parseXMLString(const char* xmlStr){ BSTR xmlBlob
vc++验证xml文件正确性的方法
XML Schema是一种W3C标准,用于定义XML文档的结构和数据类型。它通过一系列规则(如元素、属性、数据类型等)来约束XML文档,从而保证数据的准确性和一致性。


