magento -- 用Magento的方式读写XML

转载 2011年01月11日 21:36:00

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. // check if the XML file is writable and then save data   
  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数据库配置选项,以及mysql 读写分离

1.数据库配置 [mysqld] key_buffer = 512M max_allowed_packet = 64M table_cache = 512 sort_buffer_size = 4M ...
  • terry_water
  • terry_water
  • 2013年12月30日 08:40
  • 1376

magento常用插件

常用插件第一部分:     1. 删除订单:BoutikCircus_DeleteOrders     URL:http://www.magentocommerce.com/extension/s...
  • qq_32279193
  • qq_32279193
  • 2017年01月06日 11:40
  • 903

Magento布局layout.xml文件详解

解析顺序布局xml文件一般位于app/design/{area}/{package}/{theme}/layout/目录下。Layout文件一般包含block、reference、action三种标签...
  • enlyhua
  • enlyhua
  • 2015年05月06日 22:50
  • 662

magento开发必备插件列表汇总

magento和wordpress一样,因为开放而倍加优秀 ,搜集下常用的magento插件以便大家使用时更加方便快捷 导航放到右侧:magento-community/RicoNeitzel_Ve...
  • xz_src
  • xz_src
  • 2017年06月06日 14:27
  • 524

magento email:快速实现发送自定义邮件

当我们对magento email机制有一定的了解之后,便可以在模块中使用自定义邮件模板快速实现发送邮件功能!登入后台system->Transactional Emails,单击右上角Add New...
  • xmlife
  • xmlife
  • 2014年01月16日 12:06
  • 775

31. Magento图片大小调整的相关代码

Magento默认模板的列表页图片是135*135 很明显这个是在产品列表页的Grid显示模式中显示产品图片的一段代码。我们忽略除了src属性以外的其他属性。首先,调用Mage_Catelo...
  • enlyhua
  • enlyhua
  • 2016年04月01日 15:48
  • 672

Magento网站迁移

magento本地测试完上传至服务器遇到的一些问题。 1,修改magento的配置文件,位置在app/etc/local.xml,注意修改CDATA里面的内容 主要是数据库连接数据库用户名 密码 数据...
  • facecrazy
  • facecrazy
  • 2013年08月13日 11:07
  • 1187

Magento开发文档(五):Magento模型与ORM基础

模型层的实现是任何一个MVC框架的重要组成部分。它用来实现应用程序的数据,并且大部分应用程序在没有数据的情况下都是一堆废柴。相对于其他PHP MVC框架,Magento模型在系统中扮演了一个更为重要的...
  • guoshenglong11
  • guoshenglong11
  • 2014年11月24日 14:07
  • 1200

magento 单产品多图片批量上传方法

在magento里面批量上传多个产品是件很麻烦的事情,但工作效率却很高,所以大家都愿意用这种方法上传产品,特别是在产品很多的情况下。相信很多朋友都学会了怎样在magento里批量上传多个产品的技巧了,...
  • joseph992
  • joseph992
  • 2013年03月18日 09:36
  • 1085

清空Magento里的测试订单和测试客户信息

做开发的经常要做些测试订单,但是magento默认是不能删除订单的,其他网站上也有介绍如何通过SQL语句删除订单的方法, 但是都针对的是Magento 1.3,Magento1.4版本的数据库,没有...
  • hong_rui
  • hong_rui
  • 2017年05月20日 11:18
  • 199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:magento -- 用Magento的方式读写XML
举报原因:
原因补充:

(最多只允许输入30个字)