0

私は次のXMLを持っています:

<?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>

属性とノードの値を読み取る必要があります。子ノードの数を取得できますが、値を取得する方法がわかりません。

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);

        }
4

2 に答える 2

0

MSDNをすばやく検索すると、多くの時間を節約できます。

HRESULT getNamedItem(
    BSTR name,
    IXMLDOMNode **namedItem);

参照: http: //msdn.microsoft.com/en-us/library/ms767592 (v = VS.85).aspx

于 2010-11-22T11:29:40.960 に答える
0

MSDNを見る:

http://msdn.microsoft.com/en-us/library/ms761386

IXMLDOMNodeには、ノードの内容を指すテキストポインタがあるようです。

text* : Represents the text content of the node or the concatenated text representing the node and its descendants. Read/write.
于 2010-11-22T11:37:23.260 に答える