Swiftpack.co - ptrkstr/Slab as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by ptrkstr.
ptrkstr/Slab 1.0.7
Swift package to convert a HTML table into an array of dictionaries.
⭐️ 2
🕓 2 years ago
.package(url: "https://github.com/ptrkstr/Slab.git", from: "1.0.7")




Swift package to convert a HTML table into an array of dictionaries.

Example

GIVEN I have the following table

A B
1 2
3 4

WHEN I use Slab

let array: [[String: String]] = try Slab().convert(htmlString)

THEN I see an array of dictionaries

[
    ["A": "1", "B": "2"],
    ["A": "3", "B": "4"]
]

Features

Colspan Support

A B
1
3 4
[
    ["A": "1", "B": "1"],
    ["A": "3", "B": "4"]
]

Rowspan Support

A B
1 2
4
[
    ["A": "1", "B": "2"],
    ["A": "4", "B": "2"]
]

Linebreak Support

A
A
B
1 2
3
3
4
[
    ["A\\nA": "1", "B": "2"],
    ["A\\nA": "3\\n3", "B": "2"]
]

Modification

Prior to row data being entered, you have the opportunity to modify the SwiftSoup.Element.

A[1] B
1 2[2]
Configuration(modify: { element, row, column in
    try element.select("sup").remove()
    return element
})
[
    ["A": "1", "B": "2"]
]

Notes

  • Empty <td></td> is converted into an empty String

Installation

SPM

Add the following to your project:

https://github.com/ptrkstr/Slab

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics