`
coolsooner
  • 浏览: 1341072 次
文章分类
社区版块
存档分类
最新评论

magento -- 用Magento的方式读写XML

 
阅读更多

magento -- 用Magento的方式读写XML

I will be using Varien_Simplexml_Element class to read write xml nodes. The path to this class file is lib/Varien/Simplexml/Element.php

Here is a sample XML file which I am going to read through Magento code. I will also be adding an XML node to the following XML data.

  1. <? xml version = "1.0" ?>
  2. < config >
  3. < modules >
  4. < MyNamespace_MyModule >
  5. < version > 0.1.0 </ version >
  6. </ MyNamespace_MyModule >
  7. </ modules >
  8. < frontend >
  9. < routers >
  10. < mymodule >
  11. < use > standard </ use >
  12. < args >
  13. < module > MyNamespace_MyModule </ module >
  14. < frontName > mymodule </ frontName >
  15. </ args >
  16. </ mymodule >
  17. </ routers >
  18. < layout >
  19. < updates >
  20. < mymodule >
  21. < file > mymodule.xml </ file >
  22. </ mymodule >
  23. </ updates >
  24. </ layout >
  25. </ frontend >
  26. </ config >


Here is the Magento/PHP code to read the XML data. I have kept the XML file in the root directory of Magento installation. The XML file is named test.xml. At first, the XML file is loaded and then it’s node are read with getNode function. Then, I have printed the result.
  1. $xmlPath =Mage::getBaseDir().DS. 'test.xml' ;
  2. $xmlObj = new Varien_Simplexml_Config( $xmlPath );
  3. $xmlData = $xmlObj ->getNode();
  4. echo "<pre>" ;print_r( $xmlData ); echo "</pre>" ;


You can add node with the setNode function. Here, I have set a node inside the node ‘modules’. The name of my new node is ‘mukesh’ and it’s value is ‘chapagain’.
  1. $xmlPath =Mage::getBaseDir().DS. 'test.xml' ;
  2. $xmlObj = new Varien_Simplexml_Config( $xmlPath );
  3. $xmlObj ->setNode( 'modules/mukesh' , 'chapagain' );
  4. $xmlData = $xmlObj ->getNode()->asNiceXml();
  5. //checkiftheXMLfileiswritableandthensavedata
  6. if ( is_writable ( $xmlPath )){
  7. @file_put_contents ( $xmlPath , $xmlData );
  8. }


Hope this helps. Thanks for reading.

From Mukesh Chapagain's Blog, post Magento: Read Write XML

分享到:
评论

相关推荐

    Magento-中文开发教程

    Magento-中文开发教程, 欢迎大家指出错误。 深入理解Magento-第一章 – Magento强大的配置系统 深入理解Magento-第二章 – Magento请求分发与控制器 深入理解Magento-第三章 – 布局,块和模板 深入理解...

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz

    magento-ce-2.4.0_sample_data-2020-07-26-02-51-57.tar.gz Include sample data

    Magento-中文开发教程.doc

    你可以通过缓存管理、图片优化、数据库索引优化、部署静态文件等方式提升Magento的加载速度和响应时间。 七、Magento的安全与维护 保持Magento系统的安全和更新是每个管理员的责任。定期备份数据库、安装安全补丁、...

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制.zip

    Magento-Redismanager, 在 Magento,用于Redis的超级用户控制 Redis 管理Redis服务的实用程序特性系统&gt; 配置&gt;的自动或者手动配置高级&gt; Redis管理在负载均衡环境中缓存服务不同的理想情况直接从magento面板管理员管理...

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz

    magento-ce-2.4.0-2020-07-24-11-15-38.tar.gz 不带sample data

    Magento-SMTP-Email

    3. **上传到Magento根目录**:使用FTP客户端将解压后的文件上传到Magento安装目录的`app/code`或`app/code/community`(取决于插件类型)。 4. **安装和启用**:在Magento后台,进入“系统”&gt;“Magento Connect”&gt;...

    magento-1.8.0.0.tar.gz

    1. **模板引擎**:Magento使用自己的模板引擎,允许开发者轻松定制前端界面。 2. **API**:提供RESTful API,方便与其他系统集成,如ERP、CRM等。 3. **社区支持**:Magento有一个庞大的开发者社区,提供丰富的插件...

    magento-java-master.zip_magento

    6. **Spring Integration**:如果使用Spring框架,可以考虑使用Spring Integration模块来简化与Magento的集成。它提供了对HTTP、SOAP和其他协议的高级抽象,可以更方便地处理API调用。 7. **测试**:编写单元测试和...

    magento-演示数据1.6.1.0

    使用Magento演示数据1.6.1.0需要注意的是,虽然这些数据是模拟的,但为了保护隐私,不要在生产环境中使用真实的顾客数据。此外,Magento的版本更新可能引入新功能或改变现有功能,因此确保你的开发环境与1.6.1.0兼容...

    magento -redis 插件安装包

    Magento是一款强大的开源电子商务平台,而Redis则是一种高性能的键值数据存储系统,常用于缓存、session管理等场景。在Magento中集成Redis插件可以显著提升网站性能,降低数据库负载,尤其是在处理高并发请求时。...

    magento-ce-2.4.2-p1-2021-04-22-10-49-09.zip

    因为国外网速太慢了,所以下载后分享给需要的人。magento-ce-2.4.2-p1-2021-04-22-10-49-09

    PyPI 官网下载 | magento-0.6dev.tar.gz

    在使用"Magento"这个Python库之前,开发者需要先解压`.tar.gz`文件,然后可能需要根据`setup.py`文件执行安装,或者直接从PyPI使用`pip`安装。之后,他们就可以在自己的Python项目中导入并使用"Magento"提供的功能。...

    magento-coding-standard:Magento编码标准

    在Magento 2站点内安装要在您的Magento 2项目中使用,可以使用: composer require --dev magento/magento-coding-standard 出于安全考虑,以这种方式安装时,无法自动添加phpcs的Magento标准。 您可以通过将以下...

    magento-1.7.0.7z

    Magento 1.7.0 是一个非常重要的电子商务平台版本,由Magento公司开发,它提供了全面的网上商店解决方案,包括商品管理、订单处理、支付集成、客户管理等核心功能。这个7z压缩包“magento-1.7.0.7z”包含了用于安装...

    Ajax-Magento-ajax-add-to-cart.zip

    Ajax-Magento-ajax-add-to-cart.zip,[模块magento 1]magento ajax添加到购物车-ajoter vos produits au panier en ajax/感谢ajax将您的产品添加到购物车,ajax代表异步javascript和xml。它是多种web技术的集合,包括...

    magento-1.7.0.2汉化包|magento-1.7.0.2中文语言包下载

    此外,Magento的模块化结构使得第三方开发者可以开发更多的中文插件和主题,进一步扩展其功能,以满足中国市场的特殊需求,比如集成支付宝、微信支付等主流的中国支付方式。 总的来说,Magento 1.7.0.2汉化包的出现...

    magento-stock-movements, Magento扩展,节省产品库存.zip

    magento-stock-movements, Magento扩展,节省产品库存 节省你的Magento产品的库存 特性将库存移动保存在产品修改页面的新标签中安装 Magento 1.5. x, 1.6. x, 1.7. x, 1.8. x, 1.9.x使用 modgit 安装:$ cd/pat

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz

    Magento-CE-2.3.4_sample_data-2020-01-22-11-11-58.tar.gz源自官网

    Magento-Vagrant-Puppet-Nginx:安装magento和Nginx服务器

    Magento-Vagrant-Puppet-Nginx 安装次数 Magento MySQL PHP PHP-FPM Nginx的 n98-玛格伦 设置 git submodule init git submodule update vagrant up 修改人偶/清单/base.pp class { "magento" : install_...

    magento-alipay, Magento支付支付网关.zip

    magento-alipay, Magento支付支付网关 #Magento 支付支付网关模块[project status] # !由于magento2与magento1的区别很大,所以我们为magento2版本创建了另一个 git: https://github.com/cosmocomme

Global site tag (gtag.js) - Google Analytics