XmlUtils.js:JavaScript XML操作工具类

0 下载量 46 浏览量 更新于2024-08-31 收藏 68KB PDF 举报
"XmlUtils是一个JavaScript工具类,用于处理XML数据。它包含了处理XML文档的函数,如加载XML文件和XML字符串,适用于在浏览器环境中,尤其是IE浏览器。这个工具类支持将XML数据转换为JSON或数组格式。" XmlUtils JS操作XML工具类是JavaScript中的一个实用库,它提供了一系列方法来方便地操作XML数据。该工具类主要用于在前端环境中,尤其是考虑到对Internet Explorer浏览器的兼容性,因为IE浏览器使用的是ActiveX对象来处理XML,而其他现代浏览器则使用DOM(文档对象模型)。 在提供的代码中,`XmlUtils` 构造函数接收一个配置对象,该对象可以包含`dataType`和`xmlPath`两个属性。`dataType`用于指定期望的数据类型,可以是'json'或'array',默认为'array'。如果指定了`xmlPath`,则会加载对应的XML文件。`isIE`属性用来判断当前环境是否为IE浏览器,以便使用正确的XML处理方式。 `init`方法是初始化函数,对于IE浏览器,它尝试创建一系列ActiveXObject实例,这些对象是IE用来处理XML的。对于非IE浏览器,它使用`document.implementation.createDocument`创建一个新的XML文档对象。 `loadXml`方法用于从给定的文件路径加载XML文档。该方法异步加载XML文件,并返回一个布尔值,表示加载是否成功。如果加载成功,`xmlPath`属性会被设置为加载的文件路径。 此外,`loadXmlString`方法虽然没有完整展示,但根据命名,我们可以推断这个方法用于加载XML格式的字符串内容,可能将其解析为DOM对象。 这个工具类对于需要在JavaScript中处理XML数据的开发者来说非常有用,特别是当需要在不同的浏览器环境下工作时。通过它可以方便地加载XML文件,然后根据需要将其转换为JSON或数组格式,以适应JavaScript处理数据的习惯。在实际应用中,可以结合其他JavaScript库,如ExtJS,来进一步处理和展示这些数据,比如在网页上打印JSON数组。
2016-07-07 上传
2020-04-08 上传
可以处理非常复杂的xml,带节点保存,如节点a下的节点b下的name,调用可用map.get("a").get("b").get("name")如:{ "sectornum": "3", "ReturnResult": "0", "containers": { "container": [ { "shelfhight": "0.086", "cardinfos": { "cardinfo": [ { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框3槽(0)HECM" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框3槽(10)FAN" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框3槽(9)UPEU" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框3槽(7)CMPT" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框3槽(2)HCPM" } ] } }, { "shelfhight": "0.308", "cardinfos": { "cardinfo": [ { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框1槽(2)CRFU" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框1槽(4)CRFU" }, { "cardname": "290.蓝田局华胥电信营业厅CDMA基站/BTS529/架1列1/框1槽(0)CRFU" } ] } }, { "shelfhight": "0.086" }, { "shelfhight": "0.044" } ] }, "rackname": "HW401C", "asset": { "comments": "", "buydate": "", "assetcardno": "B", "category": "" }, "barcode": "", "version": "", "entity": { "entitycode": "LTJHXYYCX01/XA-HWMACBTS529", "installaddress": "", "entityspec": "BTS", "entityname": "蓝田局华胥电信营业厅CDMA基站/BTS529", "entityid": "901061314", "model": "HUAWEI BTS3900", "vendorname": "HuaWei" }, "ReturnInfo": "成功" }