我想在VC中通过DOM创建一个最基本的如下所示的XML文件,该怎样做?给个完整的例子吧,谢谢了!
<?xml version="1.0" ?> 
<root>
  <subitem name="type" value="process">
      subitemtext
  </subitem> 
</root>HRESULT hr;
IXMLDOMDocument * pXMLDoc;
IXMLDOMNode * pXDN;
hr = CoInitialize(NULL); 
hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, 
IID_IXMLDOMDocument,(void**)&pXMLDoc);
hr = pXMLDoc->QueryInterface(IID_IXMLDOMNode, (void **)&pXDN);
//创建一个简单的XML文件并保存起来//这里该怎么做?
CFileDialog dlg(FALSE);
if(dlg.DoModal()==IDOK)
{
    pXMLDoc->save((_variant_t)dlg.GetFileName());

}

解决方案 »

  1.   

    hr = pXMLDoc->QueryInterface(IID_IXMLDOMNode, (void **)&pXDN);
    这一步有问题
    Listing A: The CreateXML sub procedure Sub CreateXML()
    Dim objXMLdoc
    Set objXMLdoc = CreateObject("Microsoft.XMLDOM")
        
    objXMLdoc.async = False
    objXMLdoc.validateOnParse = False
    objXMLdoc.preserveWhiteSpace = False
    objXMLdoc.resolveExternals = False
        
    '==================================================
    '=== Close Runtime conditions                   ===
    '==================================================
        
    '=== Create the root note
    Set objXMLroot = objXMLdoc.createElement("ORDER_STATUS")
    objXMLdoc.appendChild(objXMLroot)
        
    objXMLroot.setAttribute "SHIPPING_DATASOURCE", _
    "NORTH_ATLANTIC_SHIPPING"
                   
    Set objXMLChildTestNode = objXMLdoc _ 
    .createNode("element", "PUBLISHER_DISCLAIMER", ")
    objXMLdoc.documentElement _
    .appendChild (objXMLChildTestNode)
            
    '=== Create the "PUBLISHED_DATE" Node
    Set objPublishDate = objXMLdoc.createNode("element", _
    "PUBLISHED_DATE", ")
    dShippedDate = FormatDateTime(Date, 3)
    objPublishDate.Text = dShippedDate
    objXMLChildTestNode.appendChild(objPublishDate)
    Set objPublishDate = Nothing
        
    '=== Create a Comment
    Set objXMLcomment = objXMLdoc _
    .createComment("This is a comment.")
    objXMLChildTestNode.AppendChild(objXMLcomment)
    Set objXMLcomment = Nothing
        
    '=== Create a CDataSection
    Set objXMLcdata = objXMLdoc _
    .CreateCDATASection("This is a CData Section.")
    objXMLChildTestNode.appendChild (objXMLcdata)
    Set objXMLcdata = Nothing
        
    '=== Create a Text Node
    Set objXMLcdata = objXMLdoc _
    .CreateTextNode("This is a Text Node.")
    objXMLChildTestNode.AppendChild(objXMLcdata)
    Set objXMLcdata = NothingobjXMLdoc.Save Server.MapPath("PubInfo.XML")
    Set objXMLdoc = Nothing
    end Sub
      

  2.   

    谢谢,不过我要的是C++的例子,VB的例子有很多的。
    思归老师已经告诉我的这个地址http://www.codeconduct.com/HTML/xml.asp有详细的介绍,你如果感兴趣可以去看看。
      

  3.   

    用VB写篇幅少点,VC的话一写就一大堆