あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

libxmlのAPI

libxmlで使用する主なAPIをまとめてみた。

  • 参照ヘッダファイル -> libxml/parse.h
XMLファイルを読み込んで、xmlDoc構造体を生成する。
xmlDocPtr xmlParseFile( const char* filename );
メモリ上のバッファからXMLを読込んで、xmlDoc構造体を生成する。
xmlDocPtr xmlParseMemory( char *buffer, int size );
  • 参照ヘッダファイル -> libxml/tree.h
xmlDoc構造体からルート要素のノードを取り出す。
xmlNodePtr xmlDocGetRootElement( xmlDocPtr doc );
要素*1のコンテンツ*2の取得
xmlChar* xmlNodeGetContent(xmlNodePtr cur);
要素のコンテンツを指定したコンテンツに書き換える。
xmlNodePtr xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content);
要素に指定コンテンツの新しい要素を追加する。
xmlNodePtr xmlNewTextChild(xmlNodePtr parent, xmlNsPtr ns, const xmlChar *name, const xmlChar *content);
属性*3名から属性の設定値*4を取得する。
xmlChar* xmlGetProp( xmlNodePtr node, const xmlChar *name );
属性名の設定値を指定の設定値に書き換える。
xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar *name, const xmlChar *value);
指定した属性と設定値を指定要素に追加する。
xmlAttrPtr xmlNewProp(xmlNodePtr node, const xmlChar *name, const xmlChar *value);
指定されたxmlDocをバッファにダンプしてバッファのポインタとバッファサイズを返す。
void xmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size);
ファイル識別子にxmlDocをダンプする。
void xmlDocDump(FILE *f, xmlDocPtr doc);
指定ファイルにxmlDocを保存する。
int xmlSaveFile(const char *filename, xmlDocPtr cur);
メモリ上のxmlDocを開放する。
void xmlFreeDoc(xmlDocPtr cur);
  • 参照ヘッダファイル -> libxml/xmlstring.h
要素名、属性名を比較する。比較する文字列が一致する場合は、0を返す。
int xmlStrcmp( const xmlChar *str1, const xmlChar *str2 );

*1:ノード xmlNode

*2:文字列 xmlChar*

*3:プロパティ

*4:文字列 const xmlChar *