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运输方式

  • 2015年03月17日 15:45
  • 1.4MB
  • 下载

magento改变支付方式后折扣消失

  • 2017年02月14日 15:51
  • 154KB
  • 下载

Is appending block by handle possible in Magento layout xml?

 Is appending block by handle possible in Magento layout xml?Posted onFebruary 17, 2011by芳草苑主In the...

magento xml配置详解(1)

在xml文件中增加配置项和值 控制 website/stores/store views 的配置 为不同的store设置不同的配置 提示: magento在运行时会将每一个不同module的confi...
  • enlyhua
  • enlyhua
  • 2015年04月19日 21:08
  • 506

Magento的配置对象与全局XML配置文件构建

注:后台搜索到两篇比较好的介绍这个主题的文章: http://alanstorm.com/magento_config_tutorial http://alanstorm.com/mage...

控制magento网站结构顺序的xml文件讲解

本次讲解使用magento1.4,模板使用base中default模板。 我们对应着XML文件和phtml文件来进行说明,按照字母顺序还是说,我不太清楚的就忽略掉,我都不知道的,基本大多数人都用不到...

Digging Deeper Into Magento’s Layout XML – Part 2

In the first part of this series, we discussed the basics of Layout XML elements and gave an overvie...

magento 模板XML文件介绍

位置:app\design\frontend\base\default\layout catalog.xml     这个是控制产品列表页和产品详细页的对应于template\catal...
  • sun886
  • sun886
  • 2014年04月01日 11:10
  • 539

Demystifying Magento’s Layout XML – Part 1

The ‘View’ of Magento’s MVC pattern implementation is divided in two parts: Layout and Template. The...

5 Useful Tricks For Your Magento local.xml

We have covered a lot about Magento’s layout XML in our past 2 articles [1] [2]. We saw that Mag...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:magento -- 用Magento的方式读写XML
举报原因:
原因补充:

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