2011-12-26 4 views
1

私はCのlibexpatとLinuxを使ってXMLファイルを解析する方法を探しています。私は、解析は、メモリ内のファイルの内容全体をロードしていない探しています、私はパースが行ごとにXMLドキュメントを読むことによって行われます。LinuxでC libexpatを使ってxmlファイルを1行ずつ解析するには?

私はexpatを使用してメソッドを提案できますか?

ご協力いただきありがとうございます。

+2

独自のステートマシンを構築することも、SAXパーサーを使用することもできます。 – wildplasser

答えて

1

XML_Parseはそれだけです。以下のサンプルコードを参照してください。

actual_size = fread(xmlData, 1, 32, fp); 
while (actual_size > 0) { 
    if (XML_Parse(parser, xmlData, actual_size, 0) == XML_STATUS_ERROR) { 
     printf("%s at line %l\n", 
       XML_ErrorString(XML_GetErrorCode(parser)), 
       (long) XML_GetCurrentLineNumber(parser)); 
     return 1; 
    } 
    actual_size = fread(xmlData, 1, 32, fp); 
} 
関連する問題