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'
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.8.tar.gz
(18.6 kB
view hashes)
Built Distribution
Close
Hashes for xsdata_attrs-21.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dd70ef40347296e52626deb5e88a513a6717696a81f5d2235ad76c2035c3a8d |
|
MD5 | 3587fa9e591011861971db12e453bdb1 |
|
BLAKE2b-256 | ad0e0784fe4741b2262600a5a15b0aaeb8cb61d9cfabf41ad5493aae14fdfaaf |