将xml转换为sql插入语句
Transform xml to sql insert statements
可能重复:
是否有解决未定义引用/未解决符号问题的通用指南?
我想转换一个xml来插入sql语句。我已经准备好了xml和xslt文件,并且我知道转换运行良好(使用Oxygen测试(。
现在,我正在用c++对这个转换进行编码,但没有成功。
我已经尝试包括这些库:
#include <libxml2/libxml/xmlversion.h>
#include <libxml2/libxml/parser.h>
#include <libxml2/libxml/valid.h>
#include <libxml2/libxml/xmlschemastypes.h>
#include <libxml2/libxml/xmlschemas.h>
#include <libxml2/libxml/xmlmemory.h>
#include <libxml2/libxml/debugXML.h>
#include <libxml2/libxml/HTMLtree.h>
#include <libxml2/libxml/xmlIO.h>
#include <libxml2/libxml/DOCBparser.h>
#include <libxml2/libxml/xinclude.h>
#include <libxml2/libxml/catalog.h>
#include <xalanc/Include/PlatformDefinitions.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <xalanc/XalanTransformer/XalanTransformer.hpp>
但编译器向我显示了很多代码错误,比如:
/home/kimpa2007/xml/src/main.cc:108: undefined reference to `xercesc_2_8::XMLUni::fgXercescDefaultLocale'
/home/kimpa2007/xml/src/main.cc:109: undefined reference to `xalanc_1_10::XalanTransformer::initialize(xercesc_2_8::MemoryManager&)'
有人可以解释如何用sipple的方式对这种转换进行编码?
它们是进行XSL转换的几种方法,请参阅使用XSLT样式表处理XML文档微操作:
- xsltproc
- Xalan
- 萨克森B
- 萨克森6
我知道你打算使用Xalan。也许这实际上是正确的方式。请注意,需要配置此库。您可以在Xayno90帖子中获得配置它的帮助。我在这里复制粘贴步骤:
我终于成功地编译并安装了Xerces和XalanUbuntu 10.04,按如下操作:
步骤1
sudo apt-get source libxerces-c28
sudo apt-get source libxalan110
步骤2。
add "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" to /etc/ld.so.conf
步骤3。
you may need to change owner of source packages from root to normal user
步骤4。构建Xerces
export XERCESCROOT=/home/user/xerces-c2-2.8.0+deb1
cd $XERCESCROOT
cd src/xercesc
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -rpthread -b64 -P /usr/local
make
sudo XERCESCROOT=$XERCESCROOT make install
步骤5。构建Xalan
export XERCESCROOT=/usr/local
cd $XERCESCROOT
/usr/local$ cd ~
export XERCESCROOT=/home/user/xerces-c2-2.8.0+deb1
cd $XERCESCROOT
cd ~
export XALANCROOT=/home/user/xalan-1.10/c
cd $XALANCROOT
./runConfigure -p linux -c gcc -x g++ -b64 -P /usr/local
make
sudo XALANCROOT=$XALANCROOT make install
步骤6。
检查/usr/local/lib和/usr/local/include的目录,以确认Xerces和Xalan都安装了
需要为这些XML库和包的Ubuntu特定安装提供wiki,因为目前还没有明确的指南,而且必须解释其他操作系统的安装方法才能适应此安装。
还有:
- 步骤0是从apache下载项目(https://xalan.apache.org/old/xalan-c/download.html,http://ftp.udc.es/apache/xalan/xalan-c/sources/)
- 尝试从命令行编译它,或者在属性项目IDE中配置路径
- 将贴库更新到当前版本
- 安装后,尝试编译更符合您需求的
path/c/samples/XalanTransform
最后,阅读以下SO帖子:
- XSLT值得吗
- 有XSLT到C++的编译器吗
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 预处理器:插入结构名称中的前一个行号
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何在c++中只将键插入到bimap的一侧
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 使用准备好的语句大容量插入到postgresql
- 如何在插入排序中使用 replace() 使语句变得不必要
- 为什么查找 + 插入的组合比单个插入语句工作得更快
- sqlite3 c 函数:插入语句作为参数时未执行
- 选择在 Sqlite 数据库中有效,但插入和更新语句不起作用
- 插入语句的语法错误
- SQLite 插入语句与C++
- 高斯的FFT;不确定在何处/如何插入值的打印语句
- 如何在开关语句中插入 while 循环
- 在条件C++循环语句中向SQLite3表中插入条目
- sql语句插入或替换从java到c++ NDK Android
- 将xml转换为sql插入语句