NYWalker
November 3rd, 2002, 06:59 AM
Hi CodeGurus!
I'm a XML beginner. I try to save my program settings in XML file using Microsoft Visual C++ 6.0. Here is the sample from my code:
--------------------------------------------------------------
IXMLDOMDocumentPtr XmlDocPtr;
IXMLDOMNodePtr pNode;
IXMLDOMElementPtr XmlRootPtr;
b=XmlDocPtr->loadXML(_bstr_t("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?><!DOCTYPE Settings SYSTEM \"d:\\system.dtd\"><Settings></Settings>"));
if (!b) return;
XmlDocPtr->get_documentElement(&XmlRootPtr);
if (XmlRootPtr)
{
VARIANT vtTemp2;
vtTemp2.vt=VT_I2;
vtTemp2.iVal = NODE_ELEMENT;
pNode = XmlDocPtr->createNode(vtTemp2, "Program", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"MYCOOLER");
XmlRootPtr->appendChild(pNode);
pNode = XmlDocPtr->createNode(vtTemp2, "Distributor", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"IBM Corp.");
XmlRootPtr->appendChild(pNode);
pNode = XmlDocPtr->createNode(vtTemp2, "Version", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"6.0");
XmlRootPtr->appendChild(pNode);
};
variant_t vDest(L"d:\\settings.xml");
XmlDocPtr->save(vDest);
--------------------------------------------------------------
File d:\system.dtd contains:
--------------------------------------------------------------
<!ELEMENT Settings (Program?,
Distributor?,
Version?)>
<!ELEMENT Program (#PCDATA)>
<!ELEMENT Distributor (#PCDATA)>
<!ELEMENT Version (#PCDATA)>
--------------------------------------------------------------
But resulted file "settings.xml" is not formatted according system.dtd specification. What's wrong? Help me!
I'm a XML beginner. I try to save my program settings in XML file using Microsoft Visual C++ 6.0. Here is the sample from my code:
--------------------------------------------------------------
IXMLDOMDocumentPtr XmlDocPtr;
IXMLDOMNodePtr pNode;
IXMLDOMElementPtr XmlRootPtr;
b=XmlDocPtr->loadXML(_bstr_t("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?><!DOCTYPE Settings SYSTEM \"d:\\system.dtd\"><Settings></Settings>"));
if (!b) return;
XmlDocPtr->get_documentElement(&XmlRootPtr);
if (XmlRootPtr)
{
VARIANT vtTemp2;
vtTemp2.vt=VT_I2;
vtTemp2.iVal = NODE_ELEMENT;
pNode = XmlDocPtr->createNode(vtTemp2, "Program", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"MYCOOLER");
XmlRootPtr->appendChild(pNode);
pNode = XmlDocPtr->createNode(vtTemp2, "Distributor", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"IBM Corp.");
XmlRootPtr->appendChild(pNode);
pNode = XmlDocPtr->createNode(vtTemp2, "Version", "");
pNode->put_dataType(L"NODE_TEXT");
pNode->put_text(L"6.0");
XmlRootPtr->appendChild(pNode);
};
variant_t vDest(L"d:\\settings.xml");
XmlDocPtr->save(vDest);
--------------------------------------------------------------
File d:\system.dtd contains:
--------------------------------------------------------------
<!ELEMENT Settings (Program?,
Distributor?,
Version?)>
<!ELEMENT Program (#PCDATA)>
<!ELEMENT Distributor (#PCDATA)>
<!ELEMENT Version (#PCDATA)>
--------------------------------------------------------------
But resulted file "settings.xml" is not formatted according system.dtd specification. What's wrong? Help me!