...This tested with version Delphi XE5,6
Usage
Add in Uses parser.pas;
begin
HtmlTxt:= ''; //here your html
NodeList:= TNodeList.Create;
ValueList:= TStringList.Create;
DomTree:= TDomTree.Create;
DomTreeNode:= DomTree.RootNode;
If DomTreeNode.RunParse(HtmlTxt) then
begin
{your code
example:
DomTreeNode.FindXPath('//*[@id="TopBox"]/div[1]/div[@class="draw default"]'),NodeList,ValueList)}
end;
end;
Xpath support:
attributes - //*[@id="TopBox"]/div/@class
comment - //*[@id="TopBox"]/div/comment()[3]
text - //*[@id="TopBox"]/div/text()[2]
previous level - /../div[@class="draw default"]/img[2]/@alt
partial coincidence by search in value of attribute:
/div[@class="draw] returned nodes [[div class="draw default"],[div class="draw"], [div class="draw any"]..]
...