2010-11-22 9 views
0

ich folgende XML haben:Wie das Attribut und Elementwert lesen

<?xml version="1.0" encoding="utf-8" ?> 
<lastconnectedServers> 
    <Server ip="172.24.18.240" domain="MyDomain"> 
     <SharedFolder name="MyShared" type="FTP"/> 
     <SharedFolder name="Share1" type ="CIFS"/> 
     <SharedFolder name="Share2" type ="both"/> 
    </Server> 
</lastconnectedServer> 

Ich brauche Attribut und Knoten Werte zu lesen. Ich bin in der Lage, die Anzahl der untergeordneten Knoten zu erhalten, aber nicht sicher, wie der Wert zu erhalten:

CComPtr<IXMLDOMDocument> pIxmlDOC = NULL; 
    CComPtr<IXMLDOMParseError> pIxmlDOM = NULL; 
    CComPtr<IXMLDOMElement> pIxmlServerElement; 
    CComPtr<IXMLDOMNode> pIxmlServerNode,pIxmlLastConnectedServerNode; 
    CComPtr<IXMLDOMNodeList> pIXmlNodeChildList = NULL; 


    IXMLDOMNode* pInsertedNode; 

    BSTR bstrXML = NULL; 
    VARIANT vXMLSource; 
    VARIANT_BOOL bIsSuccess; 
    HRESULT hr = CoInitialize(NULL); 

    LONG lChildCount = 0; 

    CHK_HR(CreateAndInitDOM(&pIxmlDOC));  
    VariantFromString(L"stocks.xml",vXMLSource); 

    pIxmlDOC->load(vXMLSource,&bIsSuccess); 

    pIxmlDOC->get_childNodes(&pIXmlNodeChildList); 

     pIXmlNodeChildList->get_length(&lChildCount); 

     for(int i = 0; i < lChildCount; i++) 
     { 
      CComPtr<IXMLDOMNamedNodeMap> pIXMLNodeMap; 
      CComPtr<IXMLDOMNode> pIXMLChildNode; 

      pIXmlNodeChildList->get_item(i,&pIXMLChildNode); 
      pIXMLChildNode->get_attributes(&pIXMLNodeMap); 

     } 
+0

Welche Bibliothek verwenden Sie? – Baltasarq

+0

@Baltasarq, ich benutze MSXML6 – Simsons

Antwort

Verwandte Themen