����Linux�Ż�
Linux����

�������libxml2��ARMƽ̨

����ʱ��:2016-10-19 11:09:59��Դ:linux��վ����:fanwenjieok
pcƽ̨ʹ��libxml2���Ѿ�û�����⣬���ڰ������뵽ARMƽ̨����Ƕ��ʽ��������ʹ�á�
��������������������ҵ�libxml2������Դ�룬Ҳ������github.com�����������ӷֱ����£�
GNOME������https://git.gnome.org/browse/libxml2
Github.com�ϣ�https://github.com/GNOME/libxml2
 
ubuntu 12.04�����أ�����ƭ��IJ������£�
 
1.����libxml2Դ���
wget https://git.gnome.org/browse/libxml2/snapshot/libxml2-2.9.1.zip
 
2.����libxml2
unzip libxml2-2.9.1.zip
cd libxml2-2.9.1
./autogen.sh
./configure  CROSS_COMPILE=arm-hisiv100nptl-linux- --host=arm-hisiv100nptl-linux --prefix=/opt/libxml2 --enable-shared --with-python=no
make
make install
ע�⣺һ��Ҫ   --with-python=no������make�������
 
3.��/opt/libxml2/libĿ�µ�.so�ļ��������������Ŀ¼�µ�lib��Ŀ¼�£�Ȼ���д���Գ������£�
#include <stdio.h>  
#include <libxml/parser.h>  
#include <libxml/tree.h>  
int main()  
{  
xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");  //�����ĵ��ͽڵ�ָ��  
xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST "root");  
xmlDocSetRootElement(doc,root_node);//���ø��ڵ�  
//�ڸ��ڵ���ֱ�Ӵ����ڵ�  
xmlNewTextChild(root_node, NULL, BAD_CAST "newNode1", BAD_CAST "newNode1 content");  
xmlNewTextChild(root_node, NULL, BAD_CAST "newNode2", BAD_CAST "newNode2 content");  
xmlNewTextChild(root_node, NULL, BAD_CAST "newNode3", BAD_CAST "newNode3 content");  
//����һ���ڵ㣬���������ݺ����ԣ�Ȼ���������  
xmlNodePtr node= xmlNewNode(NULL,BAD_CAST "node2");  
xmlNodePtr content = xmlNewText(BAD_CAST "NODE CONTENT");  
xmlAddChild(root_node,node);  
xmlAddChild(node,content);  
xmlNewProp(node,BAD_CAST "attribute",BAD_CAST "yes");  
//����һ�����Ӻ����ӽڵ�  
node = xmlNewNode(NULL, BAD_CAST "son");  
xmlAddChild(root_node,node);  
xmlNodePtr grandson = xmlNewNode(NULL, BAD_CAST "grandson");  
xmlAddChild(node,grandson);  
xmlAddChild(grandson, xmlNewText(BAD_CAST "This is a grandson node"));  
//�洢xml�ĵ�  
int nRel = xmlSaveFile("CreateXml.xml",doc);  
if (nRel != -1)  
{  
printf("һ��xml�ĵ���������д��%d���ֽ�\n", nRel);  
}  
//�ͷ��ĵ��ڽڵ㶯̬������ڴ�  
xmlFreeDoc(doc);  
return 1;  
}   
 
4.���������Գ���
arm-hisiv100nptl-linux-gcc test.c -o test -I /opt/libxml2/include/libxml2 -L /opt/libxml2/lib -lxml2  
 
5.���������ɵ�test�ļ������������壬Ȼ�����ӿ�ִ��Ȩ�ޣ�chmod +x test
 
6.���ԣ�./test  ������һ��xml�ļ�
 
�������ø��µ�ַ��//m.ajphoenix.com/linux/25178.html