在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):manoelcampos/xml2lua开源软件地址(OpenSource Url):https://github.com/manoelcampos/xml2lua开源编程语言(OpenSource Language):Lua 99.1%开源软件介绍(OpenSource Introduction):xml2luaxml2lua is an XML parser written entirely in Lua which doesn’t depend on any external C/C++ library. It works for Lua 5.1 to 5.3 and enables:
This version was adapted to work with Lua 5 and can be used in Lua applications, including interactive Digital Television (DTV) Ginga NCL applications for the Brazilian DTV System (worldwide known as ISDB-T International or ISDB-Tb). The original parser was written by Paul Chakravarti and is available on LuaUsers. 1. Installation1.1. From LuaRocks repositoryThe best way to download the module is using LuaRocks at the command line: luarocks install xml2lua 1.2. From local sourcesDownload the source files using the download button above or type at a terminal: git clone https://github.com/manoelcampos/xml2lua.git Finally, enter the directory where the source files were downloaded and type: luarocks make 2. How to use2.1. Parsing an XML String into a Lua TableA simplified example which parses an XML directly from a string is presented below. There are some caveats to deal with when an XML has just one tag. Check the example1.lua for details. local xml2lua = require("xml2lua")
--Uses a handler that converts the XML to a Lua table
local handler = require("xmlhandler.tree")
local xml = [[
<people>
<person type="natural">
<name>Manoel</name>
<city>Palmas-TO</city>
</person>
<person type="legal">
<name>University of Brasília</name>
<city>Brasília-DF</city>
</person>
</people>
]]
--Instantiates the XML parser
local parser = xml2lua.parser(handler)
parser:parse(xml)
--Manually prints the table (since the XML structure for this example is previously known)
for i, p in pairs(handler.root.people.person) do
print(i, "Name:", p.name, "City:", p.city, "Type:", p._attr.type)
end 2.2. Converting a Lua Table to an XML Stringlocal xml2lua = require("xml2lua")
local people = {
person = {
{name="Manoel", city="Palmas-TO", _attr={ type='natural' } },
{name="Breno", city="Palmas-TO", _attr={ type='legal' } }
}
}
print("People Table\n")
xml2lua.printable(people)
print()
print("XML Representation\n")
print(xml2lua.toXml(people, "people")) 3. Command line toolYou can use a command line tool to try parsing XML files.
Execute 4. Running tests4.1. RequerimentsYou must have installed docker and docker compose. 4.2. How tomake lint # to run the lint check
make test # to run the acceptance tests 5. LicenseThis code is freely distributable under the terms of the MIT license. 6. Authors
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论