将xml转换为sql插入语句

Transform xml to sql insert statements

本文关键字:插入 语句 sql xml 转换      更新时间:2023-10-16

可能重复:
是否有解决未定义引用/未解决符号问题的通用指南?

我想转换一个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++的编译器吗