647b2b0f37
- Added `AnchorDataProvider`, `AnchorCollectionDataProvider`, `ContentsDataProvider`, `ContentsArrayDataProvider`, `DropDownDataProvider`, `ListContentDataProvider`, and `ParagraphedContentDataProvider` for enhanced data extraction flexibility. - Updated project version to 2.5.0.
19 lines
595 B
C#
19 lines
595 B
C#
using Beam.Abstractions;
|
|
using HtmlAgilityPack;
|
|
|
|
namespace Beam.Dynamic {
|
|
public class ContentsArrayDataProvider : ContentsDataProvider, IComposableDataProvider<string[]> {
|
|
public string[] ArrayDelimiters { get; set; } = [";"];
|
|
|
|
string[] IDataProvider<string[]>.Get(HtmlDocument document) {
|
|
var node = Select(document);
|
|
return node is null ? [] : Get(node);
|
|
}
|
|
|
|
public new string[] Get(HtmlNode node) {
|
|
return node.InnerText?.Split(ArrayDelimiters, StringSplitOptions.RemoveEmptyEntries) ?? [];
|
|
}
|
|
}
|
|
|
|
}
|