zoukankan      html  css  js  c++  java
  • LuaExpat笔记

    xml

      xml是一种格式化数据交换语言, 适用于在网络上不同应用会话。

    http://www.xml.com/pub/a/98/10/guide0.html

    exPat

      一种C语言实现的 xml 文档 解析库, 面向流文件的解析工具, 适合网络接收端使用, 边接受边解析。

    http://www.libexpat.org/

      expat C API

    http://www.xml.com/pub/a/1999/09/expat/index.html?page=1

    LuaExpat

      一种基于expat的库的lua封装实现的xml解析器, C语言实现。

    http://matthewwild.co.uk/projects/luaexpat/

      LOM -- LUA OBJECT Model ,利用luaExpat解析器 (lxp)lua接口,写的一个lua文件,提供解析函数,将XML文档转化为 lua table。

    http://matthewwild.co.uk/projects/luaexpat/lom.html

       与expat C API 相对应的 luaExpat开放接口见 manul 的 Parser Object章节

    http://matthewwild.co.uk/projects/luaexpat/manual.html#parser

    code

      expat 打印tag在流中开闭的顺序 和 文本

    require"lxp"
    
    local xmlStr = [[
    <elem1>
        text
        <elem2/>
        more text
    </elem1>
    ]]
    
    local count = 0
    callbacks = {
        StartElement = function (parser, name)
            io.write("+ ", string.rep(" ", count), name, "
    ")
            count = count + 1
        end,
        EndElement = function (parser, name)
            count = count - 1
            io.write("- ", string.rep(" ", count), name, "
    ")
        end,
        CharacterData = function (parser, string)
            io.write("* ", string.rep(" ", count), string, "
    ")
        end
    }
    
    p = lxp.new(callbacks)
    
    p:parse(xmlStr)          -- parses the line
    p:parse()               -- finishes the document
    p:close()               -- closes the parser

      lom 转换xml为table后, 打印各个特征

    require "lxp.lom"
    
    s = [[<abc a1="A1" a2="A2">inside tag abc</abc>]]
    
    tab = lxp.lom.parse (s)
    
    io.write("tag="..tab.tag, "
    ");
    io.write("content="..tab[1], "
    ");
    local attr1 = tab.attr[1];
    io.write("attr1="..attr1, "attr1 value="..tab.attr[attr1],"
    ");

  • 相关阅读:
    11、sqlite
    10、正则
    9、bs4
    8、异常与import
    7、文件
    6、函数
    4、字典及集合
    3、元组
    1、python基本语法
    shell编程 15 --- shell 脚本调试技巧
  • 原文地址:https://www.cnblogs.com/lightsong/p/3775376.html
Copyright © 2011-2022 走看看