public override Selector CreateSelector() { var adTerminationSelector = new BoundSelector("</tab", "le>"); var date = new BoundExpressionGroup("Date", new BoundSelector("strup> ↑ </a>", "</div></td>")); var price = new BoundExpressionGroup("Price", new BoundSelector("class=zhyofoto>", "р<br>"), new BoundSelector("class=tprice>", "р<br>")); var detailUrl = new BoundExpressionGroup("DetailUrl", new BoundSelector("<A href='newflat-", "'") { StringComparison = StringComparison.OrdinalIgnoreCase }); var rooms = new BoundExpressionGroup("Rooms", new BoundSelector("class=site3", ">", "(") { Superposition = true }); var size = new BoundExpressionGroup("Size", new BoundSelector("(", ")")); var address = new BoundExpressionGroup("Address", new BoundSelector(",", ",")); var floor = new BoundExpressionGroup("Floor", new BoundSelector("этаж", " ,"), adTerminationSelector); var withoutDate = new BoundExpressionGroup("C1", new BoundSelector("class=strup>", "</a> </td>")); var withDate = new BoundExpressionGroup("C2", new BoundSelector("class=strup>", "</div></td>")); return new BoundExpressionSelector("Ad", new BoundExpression( new BoundExpressionCondition( withoutDate, new BoundExpressionToken[] { price, detailUrl, rooms, size, address, floor }, withDate, new BoundExpressionToken[] { date, price, detailUrl, rooms, size, address, floor } ) )); }
public BoundSelectorResult(BoundSelector selector, int selectorStart, int selectorEnd, int valueStart, int valueEnd) { Selector = selector; SelectorRange = new StringRange(selectorStart, selectorEnd); ValueRange = new StringRange(valueStart, valueEnd); }