类试这种结构。(我的目标)
<?xml version="1.0" encoding="GB2312"?>                                                               
<elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:地球>
<xs:美国 Name="USA">美国是一个国家Value</xs:美国>
<xs:中国 Name="China">
<xs:江苏 省份="南京">江苏文本</xs:江苏>
</xs:中国>
</xs:地球>////////////////////
问下怎么写第一行和第二行的内容哦。
还有就是那个名字空间xs怎么加入呢。 这个是不是在写的时候在前面加个xs:就行了哦,
///////////////////////
MSXML2::IXMLDOMDocumentPtr pDocPtr;
MSXML2::IXMLDOMElementPtr pRootElemPtr;
MSXML2::IXMLDOMElementPtr pChildNode, pTemp;
HRESULT hr;

hr = pDocPtr.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(hr))
{
MessageBox("Can't Create DOMDocument Objedt, \r\n\
   please Check that weather install the MS XML Parser run Library");
return;
} CString strHead;
strHead = "<?xml version='1.0' encoding='GB2312'?>";
pDocPtr->Write(strHead);
//根节点名称
pDocPtr->raw_createElement((_bstr_t)"地球", &pRootElemPtr);
pDocPtr->raw_appendChild(pRootElemPtr, NULL); pDocPtr->raw_createElement((_bstr_t)"美国", &pChildNode); //Node Name
pChildNode->Puttext("美国是一个国家Value"); //Node Value
pChildNode->setAttribute("Name", "USA"); //Node Attribute
pRootElemPtr->appendChild(pChildNode); //附到地球节点(根节点)上 pDocPtr->raw_createElement((_bstr_t)"中国", &pChildNode); //Node Name
//pChildNode->Puttext("中国文本内容");
pChildNode->setAttribute("Name", "China"); //Node Attribute
pRootElemPtr->appendChild(pChildNode); //附到地球节点(根节点)上 pDocPtr->raw_createElement((_bstr_t)"江苏", &pTemp); //节点名称
pTemp->Puttext("江苏文本"); //节点内容
pTemp->setAttribute("省份", "南京"); //节点属性
pChildNode->appendChild(pTemp); //进行附加节点

pDocPtr->save("f:""abc.xml"); //保存
////////////////////////////////////////////////写出来xml文件结构如下
<地球>
<美国 Name="USA">美国是一个国家Value</美国>
<中国 Name="China">
<江苏 省份="南京">江苏文本</江苏>
</中国>
</地球>

解决方案 »

  1.   

    第一行可以这样写:
    CComBSTR bstrData = "version=\"1.0\" encoding=\"utf-8\"";
            hr = m_pXMLDoc->createProcessingInstruction(bstrTag, bstrData, &pi);
            
            m_pXMLDoc->appendChild(pi, &pXMLNode);
            pi->Release();其他的跟lz同问。
      

  2.   

    你好,我也是新学的,第二句话不会说,第一句话可以用下面的代码实现,你试试看
    MSXML2::IXMLDOMDocumentPtr pDocPtr; 
    MSXML2::IXMLDOMProcessingInstructionPtr   pPI=NULL; 
    pDocPtr->raw_createProcessingInstruction(_bstr_t(L"xml"),_bstr_t(L"version='1.0'   encoding='GB2312'"),&pPI);