Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abhishekkr/rubygem_xml_motor
small XML Parsing Algorithm implemented directly in >250 lines without any Native Dependencies.
https://github.com/abhishekkr/rubygem_xml_motor
ruby rubygem rubygems xml xml-motor xml-parser xml-parsing
Last synced: 3 months ago
JSON representation
small XML Parsing Algorithm implemented directly in >250 lines without any Native Dependencies.
- Host: GitHub
- URL: https://github.com/abhishekkr/rubygem_xml_motor
- Owner: abhishekkr
- Created: 2011-11-06T23:34:25.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T07:47:22.000Z (almost 5 years ago)
- Last Synced: 2024-10-06T19:18:55.717Z (4 months ago)
- Topics: ruby, rubygem, rubygems, xml, xml-motor, xml-parser, xml-parsing
- Language: Ruby
- Homepage: http://rubygems.org/gems/xml-motor
- Size: 110 KB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: CHANGELOG
Awesome Lists containing this project
README
======================================================================
\\// ||\/|| || _ ||\/|| ||@|| ~++~ ||@|| ||))
//\\ || || ||_ || || ||_|| || ||_|| ||\\======================================================================
v 0.1.1@GitHub: https://github.com/abhishekkr/rubygem_xml_motor
@RubyGems: http://rubygems.org/gems/xml-motorfor support contact:
mail: [email protected]
http://www.twitter.com/aBionic
======================================================================the main development for this algo (to be done in other languages too) is handled in
https://github.com/abhishekkr/axml-motor
and you could find the test-cases in there too, to proceed on your ownA new short XML Parsing Algorithm implemented directly in >500 lines.
An easy-to-use XML Parser without any Native Dependencies.
[How To Use]:Loading:
+ $ gem install xml-motor
+ 'require' the 'xml-motor'Usage:
[[ To Fetch Just Attribute Values ]]
str = {XML_DATA}
nodes_ = XMLMotor.splitter str
tags_ = XMLMotor.indexify nodes_
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_, <_TAG_>
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_, <_TAG_>, "ATTRIB_KEY"
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_, <_TAG_>, "ATTRIB_KEY="
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_, <_TAG_>, "ATTRIB_KEY=ATTRIB_VALUE"
XMLMotor.xmlattrib 'attrib_to_fetch_value', nodes_, tags_, <_TAG_>, "=ATTRIB_VALUE"[[ To Search More Than One QUERIES ]]
str = {XML_DATA}
nodes_ = XMLMotor.splitter str
tags_ = XMLMotor.indexify nodes_
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_"
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_", "ATTRIB_KEY=ATTRIB_VALUE"
nodes_array = XMLMotor.xmldata nodes_, tags_, nil, "ATTRIB_KEY=ATTRIB_VALUE"
nodes_array = XMLMotor.xmldata nodes_, tags_, nil, "ATTRIB_KEY"
nodes_array = XMLMotor.xmldata nodes_, tags_, nil, "='ATTRIB_VALUE'"
>>>>> for having root-node-tag also in returned result <<<<<
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_", nil, true
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_", "ATTRIB_KEY=ATTRIB_VALUE", true
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_", ["ATTRIB_KEY=ATTRIB_VALUE"], true
nodes_array = XMLMotor.xmldata nodes_, tags_, "_TAG_", ["KEY1=VALUE1", "KEY2=VALUE2"...], true
nodes_array = XMLMotor.xmldata nodes_, tags_, nil, ["KEY1=VALUE1", "KEY2=VALUE2"...], true
nodes_array = XMLMotor.xmldata nodes_, tags_, nil, "ATTRIB_KEY=ATTRIB_VALUE", true[[ To Search Just One QUERY ]]
nodes_array = XMLMotor.get_node_from_file "_XML_FILE_", "_TAG_"
nodes_array = XMLMotor.get_node_from_file "_XML_FILE_", "_TAG_", "ATTRIB_KEY=ATTRIB_VALUE"
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_"
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_", "ATTRIB_KEY=ATTRIB_VALUE"
nodes_array = XMLMotor.get_node_from_file "_XML_FILE_", nil, "ATTRIB_KEY=ATTRIB_VALUE"
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", nil, "ATTRIB_KEY=ATTRIB_VALUE"
>>>>> for having root-node-tag also in returned result <<<<<
nodes_array = XMLMotor.get_node_from_file "_XML_FILE_", "_TAG_", nil, true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_", "ATTRIB_KEY=ATTRIB_VALUE", true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_", ["ATTRIB_KEY=ATTRIB_VALUE"], true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_", ["KEY1=VALUE1", "KEY2=VALUE2"...], true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", "_TAG_", ["KEY1=VALUE1", "KEY2=VALUE2"...], true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", nil, "ATTRIB_KEY=ATTRIB_VALUE", true
nodes_array = XMLMotor.get_node_from_content "_XML_DATA_", nil, ["KEY1=VALUE1", "KEY2=VALUE2"...], trueExample Calls As Code:
+ XMLMotor.get_node_from_content "aba", "A"
RETURNS: ["a", "ba"]
+ XMLMotor.get_node_from_content "aba", "B.A"
RETURNS: ["ba"]
+ XMLMotor.get_node_from_content "aba", "A", "i='1'"
RETURNS: ["a"]To turn on the verbosity for errors in XML-Motor, set an Environment value for 'VERBOSE'.
=====================================================================
=====================================================================