好房网

网站首页 房产资讯 > 正文

什么是ms胶(什么是MSXML)

2022-07-23 16:20:04 房产资讯 来源:
导读 想必现在有很多小伙伴对于什么是MSXML方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于什么是MSXML方面的知识分享给大

想必现在有很多小伙伴对于什么是MSXML方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于什么是MSXML方面的知识分享给大家,希望大家会喜欢哦。

1、用的方面特别的多.

2、我把以前写过的一个例子帖出来,以备以后使用.

3、第一部分:DOM解析:

4、版线权归验芝士回答网文站或原作列者所族有

5、概述:DOM解析将会把一个完整的XML文档读进来,生成一个结构树。这样会要把XML文档全部都加载到内在中。所以解析起来的速度会要慢一些。

6、1、如何加载xml文件:

7、//创建DOM,加载XML文档

8、MSXML::IXMLDOMDocumentPtr pCommandDoc;

9、的所之平华观持团除精京。

10、pCommandDoc.CreateInstance(__uuidof(MSXML::DOMDocument));

11、pCommandDoc->put_async(VARIANT_FALSE);

12、一都制关总根强据南证,至达集记响消。

13、pCommandDoc->put_validateOnParse(VARIANT_FALSE);

14、pCommandDoc->put_resolveExternals(VARIANT_FALSE);

15、pCommandDoc->put_preserveWhiteSpace(VARIANT_TRUE);

16、pCommandDoc->load(file.GetBuffer(0));

17、2、在XML文档中查找指定的结点:

18、//找到

19、MSXML::IXMLDOMNodePtr pRootNode=pCommandDoc->selectSingleNode("root/record");

20、if (pRootNode==NULL)

21、{

22、return ;

23、}

24、3、得到XML文档中,结点的属性

25、CString strTemp;

26、MSXML::IXMLDOMNamedNodeMapPtr pAttrs = NULL;

27、pRootNode->get_attributes(&pAttrs);

28、if (pAttrs==NULL)

29、{

30、return;

31、}

32、MSXML::IXMLDOMNodePtr pRequestTypeAttr=pAttrs->getQualifiedItem("name","");

33、_bstr_t strRequestType=pRequestTypeAttr->Gettext();

34、strTemp=strRequestType.operator char *();

35、4、得到结点的内容

36、_bstr_t strVisiPort=pNode->Gettext();

37、5、设置结点的内容

38、HRESULT hr=pNode->put_text(_bstr_t(m_strGatewayPassword));

39、6、设置一个属性内容

40、IXMLDOMAttribute *pa=NULL;

41、bstr = SysAllocString(L"属性1");

42、pXMLDom->createAttribute(bstr,&pNode);

43、var = VariantString(L"strin");

44、pa->put_value(var);

45、pRoot->setAttributeNode(pa, &pa1);

46、第二部分、如何使用SAX解析

47、概述:SAX使用的是加载式的,将会把XML文档分断,加载到内存中。使用事件通知的方式,来表示找到结点。好像没有写文档的能力吧。它的速度要比DOM快不少。

48、使用SAX的时候,就需要重载MSXML4.0中的一个接口ISAXContentHandler。

49、有几个函数重载了之后,当找到了结点之后,就会回调这一些函数。

本文到此结束,希望对大家有所帮助。


版权说明: 本文由用户上传,如有侵权请联系删除!


标签: