`
guodongbuding
  • 浏览: 38942 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

add some method for libxml

XML 
阅读更多
module Xml
  def self.load(file)
    xml = LibXML::XML::Parser.file(file)
    doc = xml.parse
    root = doc.root
    root.create_method
    return doc.root
  end
 
end
module LibXML
  module XML
    class Document
    end
    class Node
      def create_method
        hash = {}
        self.children.each do |node|
          next if node.blank?
          next if node.name.blank?
          key = node.name=="name" ? "g_#{node.name}" : node.name
          hash[key].blank? ? (hash[key]=[node])  : (hash[key] << node)
          self.class.send(:define_method,key){return get_attr(node)}#{sub_attr(node)}
        end if self.child?
        keys = hash.keys
        keys.each do |key|
          self.class.send(:define_method,key.pluralize){return get_attrs(hash[key])}#{sub_attr(node)}
        end  if !keys.blank?
      end
      def get_attrs(h)
        arr = h.flatten
        return h.flatten
      end
      def method_missing(name)
         puts "error:#{name}______fantong.com"
      end
      def get_attr(attr)
        attr.create_method if attr.child?
        return attr
      end
    end
  end
end
分享到:
评论

相关推荐

    libxml2 for windows(2)

    除了基本的XML解析,LibXML2还支持其他高级特性,如SAX(Simple API for XML)解析、XML Schema验证、XML的网络I/O以及XML编码转换。开发者可以根据需求选择合适的接口来实现相应的功能。 总之,LibXML2是一个强大...

    libxml2 for windows

    libxml2.dll for windows

    Windows版libxml2.7.8

    This is libxml2, version 2.7.8, binary package for the native Win32/IA32 platform. The files in this package do not require any special installation steps. Extract the contents of the archive where...

    libxml2开源库 libxml2开源库 libxml2开源库

    - **XML解析**:支持SAX(Simple API for XML)和DOM(Document Object Model)两种解析模式。SAX是一种事件驱动的解析方法,适用于处理大型XML文档;DOM则将整个XML文档加载到内存中,便于进行全文搜索和修改。 -...

    libxml2-2.9.1

    解析器能够识别XML语法,构建文档对象模型(DOM),或者以SAX(Simple API for XML)事件驱动方式处理文档。 2. **DOM支持**:DOM是一种树形数据结构,用于表示XML文档。Libxml2提供API,允许开发者遍历和修改DOM树...

    libxml2源码文件

    它支持SAX(Simple API for XML)和DOM(Document Object Model)两种解析模式。SAX是一种事件驱动的解析方式,适用于处理大型XML文件,因为其内存占用较低;DOM则是将整个XML文档加载到内存中,形成一棵树形结构,...

    libxml2_libxml22.9编译_libxml_源码

    **libxml2库详解** Libxml2是XML解析器库,由Gnome项目开发,它提供了广泛的XML处理功能,包括解析、序列化、XPath查询、XInclude处理、DTD验证等。这个库是开源的,遵循MIT许可证,因此可以在各种商业和非商业项目...

    libxml2 安装Php5时会提示缺少libxml2

    libxml是一个用来解析XML文档的函数库。它用C语言写成, 并且能为多种语言所调用,例如C语言,C++,XSH。C#, Python,Kylix/Delphi,Ruby,和PHP等。Perl中也可以使用XML::LibXML模块。它最初是为GNOME开发的项目,但...

    LIBXML

    LIBXML是Linux内核的一部分,它是一个开源的、跨平台的XML解析库,全称为“Libxml2”。这个库提供了一系列API(应用程序编程接口),使得开发者能够方便地处理XML文档,进行解析、验证、编码以及XPath查询等操作。在...

    windows下安装 libxml2 安装包 64位

    在Windows操作系统中,开发和运行某些程序,特别是涉及到XML处理的Ruby应用时,可能需要依赖于像libxml2这样的库。libxml2是用于解析、处理和操作XML文档的一个开源库,广泛应用于各种编程语言,包括Ruby。在这个...

    Ubuntu11.10 libxml2-dev

    Ubuntu11.10 libxml2-dev 安装包 libxml2_2.7.8.dfsg-4_i386.deb libxml2-dev_2.7.8.dfsg-4_i386.deb python-libxml2_2.7.8.dfsg-4_i386.deb zlib1g_1.2.3.4.dfsg-3ubuntu3_i386.deb zlib1g-dev_1.2.3.4.dfsg-3...

    LIBXML2 X64位

    1. **XML解析**:libxml2提供了多种解析方式,包括SAX(Simple API for XML)和DOM(Document Object Model)模型。SAX是事件驱动的,适用于大文件;DOM则将整个XML文档加载到内存,方便进行查找和修改。 2. **...

    libxml2-2.9.8源码及编译方法

    1. **XML解析器**: 支持SAX(Simple API for XML)和DOM(Document Object Model)两种解析方式,能够高效地读取和解析XML文档。 2. **XPath支持**: 提供了完整的XPath 1.0实现,可以方便地查询XML文档中的节点。 3....

    libxml2-2.9.7.tar.gz

    《深入理解libxml2在Python中的应用》 libxml2是一个强大的XML解析库,由Gnome项目开发并维护,广泛应用于各种操作系统环境,包括Linux、Windows以及Mac OS X等。这个名为"libxml2-2.9.7.tar.gz"的压缩包文件,包含...

    libxml2-2.9.14源码

    **libxml2库详解** Libxml2是XML处理的一个强大且高效的开源库,它由Gnome项目维护,广泛应用于各种操作系统平台,包括Linux、Windows和macOS等。这个库提供了全面的功能,使得开发者能够轻松地在C语言环境中处理...

    C语言库libxml2实例详解

    ### C语言库libxml2实例详解 #### 一、引言 libxml2是一个功能强大的C语言XML处理库,能够高效地解析、处理XML文件。本文档旨在通过具体实例介绍libxml2的基本使用方法,帮助读者更好地理解如何利用libxml2进行XML...

    LIBXML2相关文档

    4. **SAX(简单API for XML)**:除了DOM之外,LIBXML2还提供了SAX解析器,它是一种事件驱动的解析方式,适用于处理大型XML文件,因为它不需要将整个文档加载到内存中。 5. **HTML解析**:除了XML,LIBXML2也支持...

    libxml in iOS(Xcode)

    **iOS中的libxml库** LibXML是开源的XML解析库,它被广泛应用于各种操作系统,包括iOS。在iOS开发中,libxml库提供了一种高效且灵活的方式来处理XML文档,这对于那些需要解析或生成XML数据的应用来说至关重要。下面...

    libxml rpm

    libxml rpm libxml rpm

    libxml2.dll

    libxml2

Global site tag (gtag.js) - Google Analytics