xsdata attrs plugin
Project description
xsdata powered by attrs!
xsData is a complete data binding library for python allowing developers to access and use XML and JSON documents as simple objects rather than using DOM.
Now powered by attrs!
Install
$ # Install with cli support
$ pip install xsdata-attrs[cli]
Generate Models
$ # Generate models
$ xsdata http://rss.cnn.com/rss/edition.rss --output attrs
Parsing document edition.rss
Analyzer input: 9 main and 0 inner classes
Analyzer output: 9 main and 0 inner classes
Generating package: init
Generating package: generated.rss
...
@attr.s
class Rss:
class Meta:
name = "rss"
version: Optional[float] = attr.ib(
default=None,
metadata={
"type": "Attribute",
}
)
channel: Optional[Channel] = attr.ib(
default=None,
metadata={
"type": "Element",
}
)
...
XML Parsing
>>> from xsdata_attrs.bindings import XmlParser
>>> from urllib.request import urlopen
>>> from generated.rss import Rss
>>>
>>> parser = XmlParser()
>>> with urlopen("http://rss.cnn.com/rss/edition.rss") as rq:
... result = parser.parse(rq, Rss)
...
>>> result.channel.item[2].title
'Vatican indicts 10 people, including a Cardinal, over an international financial scandal'
>>> result.channel.item[2].pub_date
'Sat, 03 Jul 2021 16:37:14 GMT'
>>> result.channel.item[2].link
'https://www.cnn.com/2021/07/03/europe/vatican-financial-scandal-intl/index.html'
Changelog: 21.11 (2021-11-02)
Fixed dataclass.unsafe_hash mapping to attrs.hash property #7
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xsdata_attrs-21.11.tar.gz
(18.9 kB
view hashes)
Built Distribution
Close
Hashes for xsdata_attrs-21.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0a9140aaa347e2957ff0766f8b6c07742b8d862ed9e4dfcd651dbaae3481dce |
|
MD5 | 1c244f2cc0f9421674c431f138735c14 |
|
BLAKE2b-256 | 1046cb197c646f8125a773ef31e16c88ab432ef090d2cd1a62d4420084f40cb3 |