LuaXml安装和使用

1、下载LuaXml

链接: https://pan.baidu.com/s/1RfQ3aI9yJUJzbu8x5gPCSg 提取码: 2kbx 

2、安装LuaXml

修改Makefile文件,主要修改红色字体部份

# 2009-03-16 by gf

# generic compiler and linker settings:
CC     = gcc
INCDIR = -I/usr/local/openresty/luajit/include/luajit-2.1
LIB    = 
LIBDIR =  -L. -L/usr/local/openresty/luajit/lib
CFLAGS = -Os -Wall -c #-g

# generic platform specific rules:
ARCH            = $(shell uname -s)
ifeq ($(ARCH),Linux)
  CFLAGS += -fPIC
  LFLAGS =  -fPIC -shared
  LIBS          = $(LIBDIR) $(LIB) -lluajit-5.1 -ldl
  EXESUFFIX =
  SHLIBSUFFIX = .so

else  
  ifeq ($(ARCH),Darwin) # MacOSX
    LFLAGS = -bundle 
    LIBS          = $(LIBDIR) -L/usr/local/lib $(LIB) -llua
    EXESUFFIX = .app
    SHLIBSUFFIX = .so
    
  else  # windows, MinGW
    LFLAGS =  -shared
    LIBS          = $(LIBDIR) $(LIB) -llua51 -mconsole -s
    EXESUFFIX = .exe
    SHLIBSUFFIX = .dll

  endif
endif

进行编译

make

将LuaXML.lua和LuaXML_lib.so文件拷贝到/usr/local/openresty/lualib/目录下

已编译完成的下载地址

链接: https://pan.baidu.com/s/169utORt8moro4lNSd7cPCw 提取码: 75us

3、使用LuaXml

xml内容

<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
    <cas:authenticationSuccess>
        <cas:user>zhangsan</cas:user>     
        <cas:attributes>        
            <cas:BUREAU_ID>2002617</cas:BUREAU_ID>        
            <cas:REAL_NAME>张三</cas:REAL_NAME>        
            <cas:PERSON_ID>56588</cas:PERSON_ID>
        </cas:attributes>      
    </cas:authenticationSuccess>
</cas:serviceResponse>

lua代码

require('LuaXML')
xml = require "xml"

local resp = xml.eval(tostring(xmlStr))
local login_name = resp:find("cas:user")[1]
local bureau_id = resp:find("cas:BUREAU_ID")[1]
local person_id = resp:find("cas:PERSON_ID")[1]
ngx.log(ngx.ERR,"login_name:"..login_name..";bureau_id:"..bureau_id..";person_id:"..person_id)

 

posted @ 2021-06-09 09:23  缤纷世界  阅读(1183)  评论(0编辑  收藏  举报