libxml庫提供了一些.net風格的函數,以流的形式來讀取並分析xml文件.
<libxml/xmlreader.h>
xmlTextReader xmlTextReaderPtr //XmlReader的結構體及其指針
xmlTextReaderPtr xmlReaderForFile (const char * filename, const char * encoding, int options) //打開一個xml文件並返回xmlreader對象,準備開始分析.
int xmlTextReaderRead (xmlTextReaderPtr reader) //讀取下一個節點(注意,是下一個,不是下一個同層節點)
int xmlTextReaderNext (xmlTextReaderPtr reader) //讀取下一個同層節點
int xmlTextReaderNodeType (xmlTextReaderPtr reader) //判斷當前節點的類型
xmlChar *xmlTextReaderGetAttribute (xmlTextReaderPtr reader, const xmlChar * name) //獲取當前節點的指定屬性
xmlChar *xmlTextReaderReadString (xmlTextReaderPtr reader) //讀取當前節點下的text
xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader) //將當前節點展開成一個節點對象(慎用)
int xmlTextReaderHasValue (xmlTextReaderPtr reader) //判斷當前節點是否有text值
int xmlTextReaderHasAttributes (xmlTextReaderPtr reader) //判斷當前節點是否包含屬性
int xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader, const xmlChar * name) //移動指針到當前節點的指定屬性名的屬性
int xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader, int no) //移動指針到當前節點指定屬性編號的屬性
int xmlTextReaderMoveToElement (xmlTextReaderPtr reader) //將指針移會當前節點
int xmlTextReaderMoveToFirstAttribute (xmlTextReaderPtr reader) //將指針移動到當前節點的第一個屬性
int xmlTextReaderMoveToNextAttribute (xmlTextReaderPtr reader) //將指針移動到當前節點的下一個屬性
xmlChar *xmlTextReaderName (xmlTextReaderPtr reader) //返回當前節點的名字