Microsoft XML for Pocket PC与Microsoft Internet Explorer 5中的相应功能几乎完全相同。然而,在Pocket PC上,并未对某些功能提供支持。
未提供对IE4 MSXML DOM的向后兼容性 MSXML for Microsoft Internet Explorer 5包含对Microsoft Internet Explorer 4中XML DOM进行模拟的功能。为降低内存需求和ROM容量,MSXML for Pocket PC不包含此项功能。
不支持数据绑定 Pocket Internet Explorer及MSXML for Pocket PC均不支持Data Binding。对Data Binding的支持需要复杂的HTML布局基础提供支持。
小心CSS属性 请记住,Pocket Internet Explorer不支持CSS。请仔细查看您所创建的XSL转换并确保其中不含CSS元素或属性。尤其要注意在HTML标记中谨慎使用STYLE属性。
XML解析器接口 你还可以针对C++或Visual Basic应用程序使用Microsoft XML Parser。
如何在嵌入式 Viusal C++中使用XMLDOM 为了在eMbedded Visual C++应用程序中访问XMLDOM,可以通过下列语句导入Pocket PC Emulator(Pocket PC模拟器)的MSXMLM.DLL:
#import <\Windows CE Tools\wce300\MS Pocket PC\emulation\palm300\windows\msxmlm.dll> raw_interfaces_only using namespace MSXML; void __stdcall _com_issue_error(HRESULT hr) { // Error handling goes here } “raw_interfaces_only”属性十分重要,如果没有它,“msxmlm.tlh”文件将产生大量错误。该属性仅创建在C++应用程序中使用的低级接口描述。为避免连接器错误,使用“com_issue_error()”函数是非常必要的。
此处是一个XML代码的小型示例:
IXMLDOMDocumentPtr iXMLDoc; IXMLDOMElementPtr iXMLElm; IXMLDOMNodeListPtr iXMLChild; IXMLDOMNodePtr iXMLItem; short tEmpty; BSTR bStr;
HRESULT hr=iXMLDoc.CreateInstance(__uuidof(DOMDocument)); if (!FAILED(hr)) { iXMLDoc->loadXML(L"Joe " L"Smith ", &tEmpty); iXMLDoc->get_documentElement(&iXMLElm); iXMLElm->get_childNodes(&iXMLChild); iXMLChild->get_item(1,&iXMLItem); iXMLItem->get_xml(&bStr); MessageBox(NULL,bStr,TEXT("Caption"),MB_OK); }
如何在嵌入式Visual Basic中使用XMLDOM 在Visual Basic中使用XMLDOM非常简单。下面这个代码片断显示了如何在eMbedded Visual Basic中解析XML:
Dim xmlDoc Dim currNode Dim xml Set xmlDoc = CreateObject("microsoft.xmldom") xml = "Joe " xml = xml & "Smith " xmlDoc.loadXML (xml) Set currNode = xmlDoc.documentElement.childNodes.item(1) MsgBox currNode.xml 消息框中将显示如下内容:
Smith
B<>如何在JavaScript中使用XMLDOM 你甚至可以通过客户端JavaScript 1.1访问XMLDOM。以下是使用JScript编写的相同代码:
Stephanie Smith 1971-07-01 ssmith@abcdef.com (425) 111-1111 Bill Williams 1968-09-17 billw@abcdef.com (425) 111-1111 Christopher Jones 1999-09-08 cjones@abcdef.com (425) 111-1111
function showPhone()
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:Continuation 和高级流程控制
下一篇:ARM的嵌入式Linux移植体验之基本概念