首先使用test來測試
make test
text.xml範例XML檔案
test.xml
<?xml version="1.0"?>
<formula1>
<team name="McLaren">
<driver>
<name>Kimi Raikkonen</name>
<points>CCCC</points>
</driver>
<driver>
<name>Juan Pablo Montoya</name>
<points>60</points>
</driver>
</team>
</formula1>
cat test.xml
使用ezxmltest執行檔來解析text.xml檔案
./ezxmltest test.xml
就可以看到整個xml檔案的內容。
接下來使用ezXML的Library來parsing XML file,把是哪個team name、什麼name及points印出來,程式碼請參考
ezxml_mycode.c
#include <stdio.h>
#include <stdlib.h>
#include "ezxml.h"
int main()
{
ezxml_t f1 = ezxml_parse_file("test.xml"), team, driver;
const char *teamname;
for (team = ezxml_child(f1, "team"); team; team = team->next) {
teamname = ezxml_attr(team, "name");
for (driver = ezxml_child(team, "driver"); driver; driver = driver->next) {
printf("%s, %s: %s\n", ezxml_child(driver, "name")->txt, teamname,
ezxml_child(driver, "points")->txt);
}
}
ezxml_free(f1);
return 0;
}
編譯
make
編譯出libezxml.a的static library檔案。
接著編譯剛剛寫好的ezxml_mycode.c
gcc ezxml_mycode.c libezxml.a -o ezxml_mycode -I.
沒有留言:
張貼留言