例如people.xml文件:
<People>
  <Name>Tom</Name>
  <Old>20</Old>
  <Address>xxx</Adress>
</People>现在有类TPeople,创建TPeople的一个对象来存储xml的内容,如果用DOM解释这个XML的话就很方便:
var
 xmlDoc: IXMLDOMDocument;
 xmlNode: IXMLDOMNode;
 p: TPeople;
begin
 xmlDoc:= CoDOMDocument.Create;
 xmlDoc.Load('people.xml');
 p := TPeople.Create;
 p.Name := xmlDoc.selectSingleNode('Name').text;
 p.Old := xmlDoc.selectSingleNode(Old).text;
 p.Address:= xmlDoc.selectSingleNode(Address).text;
end;如果用SAX解释的话,因为SAX每读到一个节点就会抛出一个事件,在事件处理函数里只能取到这个节点的内容,其他节点就的内容就不知道,所以不知在什么时候创建TPeople的对象p,不知如何存储p.Name、p.Old、p.Address的内容。大家知道的能说说不?