xmlReadFile函数接收三个参数,第一个参数是文件名,第二个参数是编码类型,第三个参数是分析时的选项。由于提供了更多的参数,所以这个函数能更精确的处理文件。这个函数返回一个xmlDocPtr,得到这个指针后我们可以对各个节点进行操作了。
- xmlDocPtrdoc=NULL;
- doc=xmlReadFile(docname,NULL,XML_PARSE_DTDVALID);
2 使用xmlParseCtxtPtr解析文件
libxml提供了这样一个结构体xmlParserCtxt,这个结构体可以深入控制解析的工程,先看看他是如何工作的。
?
- xmlParserCtxtPtrctxt=NULL;
- xmlDocPtrdoc=NULL;
- ctxt=xmlNewParserCtxt();
- doc=xmlCtxtReadFile(ctxt,docnamen,0);
不要忘了最后释放ctxt。
使用ctxt的一个操作就是分块处理文件,即读进文件的一部分,边读边分析。
?