VB中:
dim doc
set doc = CreateObject("Microsoft.MSXML2")
dim str as string
str = "<root><a>aa</a><a>bb</a></root>"
doc.loadXML str
dim list as IXMLDOMNodeList
set list = doc.getElementByName("a")
dim length as integer
length = list.length //可以得到length的值为2VC中:
pDoc指针已经正常获得
IXMLDOMNodeList *list;
list = pDoc->getElementByName("a") //list指针的值已经有了,一般都是同一个值0x008a4500
int len = list.length; //得到的值始终为0,哪位大侠知道怎么回事
dim doc
set doc = CreateObject("Microsoft.MSXML2")
dim str as string
str = "<root><a>aa</a><a>bb</a></root>"
doc.loadXML str
dim list as IXMLDOMNodeList
set list = doc.getElementByName("a")
dim length as integer
length = list.length //可以得到length的值为2VC中:
pDoc指针已经正常获得
IXMLDOMNodeList *list;
list = pDoc->getElementByName("a") //list指针的值已经有了,一般都是同一个值0x008a4500
int len = list.length; //得到的值始终为0,哪位大侠知道怎么回事
<COLLECTION
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<DATE dt:dt="datetime">1998-10-13T15:56:00</DATE>
<BOOK>
<TITLE>Lover Birds</TITLE>
<AUTHOR>Cynthia Randall</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
</BOOK>
<BOOK>
<TITLE>The Sundered Grail</TITLE>
<AUTHOR>Eva Corets</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
</BOOK>
<BOOK>
<TITLE>Splish Splash</TITLE>
<AUTHOR>Paula Thurman</AUTHOR>
<PUBLISHER>Scootney</PUBLISHER>
</BOOK>
</COLLECTION>#import "msxml3.dll"
using namespace MSXML2;inline void TESTHR( HRESULT _hr )
{ if FAILED(_hr) throw(_hr); }void XMLDOMNodeListSample()
{
try {
IXMLDOMDocumentPtr docPtr;
IXMLDOMNodeListPtr NodeListPtr;
IXMLDOMNodePtr DOMNodePtr; //init
TESTHR(CoInitialize(NULL));
TESTHR(docPtr.CreateInstance("Msxml2.DOMDocument.5.0")); // load a document
_variant_t varXml("C:\\book.xml");
_variant_t varOut((bool)TRUE);
varOut = docPtr->load(varXml);
if ((bool)varOut == FALSE)
throw(0);
NodeListPtr = docPtr->getElementsByTagName("AUTHOR");
MessageBox(NULL, _bstr_t(NodeListPtr->length), _T("Node List length"), MB_OK);
} catch(...)
{
MessageBox(NULL, _T("Exception occurred"), _T("Error"), MB_OK);
}
CoUninitialize();
}
你也可以用同步模式,这样Load调用之后就可以读DOM了