1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-21 00:19:42 +02:00
Files
.github
completions
docs
parsers
acpi.md
airport.md
airport_s.md
arp.md
asciitable.md
asciitable_m.md
blkid.md
bluetoothctl.md
cbt.md
cef.md
cef_s.md
certbot.md
chage.md
cksum.md
clf.md
clf_s.md
crontab.md
crontab_u.md
csv.md
csv_s.md
curl_head.md
date.md
datetime_iso.md
debconf_show.md
df.md
dig.md
dir.md
dmidecode.md
dpkg_l.md
du.md
efibootmgr.md
email_address.md
env.md
file.md
find.md
findmnt.md
finger.md
free.md
fstab.md
git_log.md
git_log_s.md
git_ls_remote.md
gpg.md
group.md
gshadow.md
hash.md
hashsum.md
hciconfig.md
history.md
host.md
hosts.md
http_headers.md
id.md
ifconfig.md
ini.md
ini_dup.md
iostat.md
iostat_s.md
ip_address.md
ip_route.md
iptables.md
iw_scan.md
iwconfig.md
jar_manifest.md
jobs.md
jwt.md
kv.md
kv_dup.md
last.md
ls.md
ls_s.md
lsattr.md
lsb_release.md
lsblk.md
lsmod.md
lsof.md
lspci.md
lsusb.md
m3u.md
mdadm.md
mount.md
mpstat.md
mpstat_s.md
netstat.md
nmcli.md
nsd_control.md
ntpq.md
openvpn.md
os_prober.md
os_release.md
passwd.md
path.md
path_list.md
pci_ids.md
pgpass.md
pidstat.md
pidstat_s.md
ping.md
ping_s.md
pip_list.md
pip_show.md
pkg_index_apk.md
pkg_index_deb.md
plist.md
postconf.md
proc.md
proc_buddyinfo.md
proc_cmdline.md
proc_consoles.md
proc_cpuinfo.md
proc_crypto.md
proc_devices.md
proc_diskstats.md
proc_driver_rtc.md
proc_filesystems.md
proc_interrupts.md
proc_iomem.md
proc_ioports.md
proc_loadavg.md
proc_locks.md
proc_meminfo.md
proc_modules.md
proc_mtrr.md
proc_net_arp.md
proc_net_dev.md
proc_net_dev_mcast.md
proc_net_if_inet6.md
proc_net_igmp.md
proc_net_igmp6.md
proc_net_ipv6_route.md
proc_net_netlink.md
proc_net_netstat.md
proc_net_packet.md
proc_net_protocols.md
proc_net_route.md
proc_net_tcp.md
proc_net_unix.md
proc_pagetypeinfo.md
proc_partitions.md
proc_pid_fdinfo.md
proc_pid_io.md
proc_pid_maps.md
proc_pid_mountinfo.md
proc_pid_numa_maps.md
proc_pid_smaps.md
proc_pid_stat.md
proc_pid_statm.md
proc_pid_status.md
proc_slabinfo.md
proc_softirqs.md
proc_stat.md
proc_swaps.md
proc_uptime.md
proc_version.md
proc_vmallocinfo.md
proc_vmstat.md
proc_zoneinfo.md
ps.md
resolve_conf.md
route.md
rpm_qi.md
rsync.md
rsync_s.md
semver.md
sfdisk.md
shadow.md
srt.md
ss.md
ssh_conf.md
sshd_conf.md
stat.md
stat_s.md
swapon.md
sysctl.md
syslog.md
syslog_bsd.md
syslog_bsd_s.md
syslog_s.md
systemctl.md
systemctl_lj.md
systemctl_ls.md
systemctl_luf.md
systeminfo.md
time.md
timedatectl.md
timestamp.md
toml.md
top.md
top_s.md
tracepath.md
traceroute.md
tune2fs.md
udevadm.md
ufw.md
ufw_appinfo.md
uname.md
universal.md
update_alt_gs.md
update_alt_q.md
upower.md
uptime.md
url.md
ver.md
veracrypt.md
vmstat.md
vmstat_s.md
w.md
wc.md
who.md
x509_cert.md
x509_csr.md
xml.md
xrandr.md
yaml.md
zipinfo.md
zpool_iostat.md
zpool_status.md
lib.md
readme.md
streaming.md
utils.md
jc
man
snap
templates
tests
.gitignore
CHANGELOG
CONTRIBUTING.md
EXAMPLES.md
LICENSE.md
MANIFEST.in
README-snap.md
README.md
_config.yml
build-completions.py
build-package.sh
docgen.sh
install.sh
mangen.py
pypi-upload.sh
readmegen.py
requirements.txt
runtests-missing-libs.sh
runtests.sh
setup.cfg
setup.py
updatedocs.sh
jc/docs/parsers/xml.md

2.3 KiB

Home

jc.parsers.xml

jc - JSON Convert XML file parser

This parser adds a @ prefix to attributes by default. This can be changed to a _ prefix by using the -r (cli) or raw=True (module) option.

Text values for nodes will have the key-name of #text.

Usage (cli):

$ cat foo.xml | jc --xml

Usage (module):

import jc
result = jc.parse('xml', xml_file_output)

Schema:

XML Document converted to a Dictionary. See https://github.com/martinblech/xmltodict for details.

{
  "key1":   string/object,
  "key2":   string/object
}

Examples:

$ cat cd_catalog.xml
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
  ...

$ cat cd_catalog.xml | jc --xml -p
{
  "CATALOG": {
    "CD": [
      {
        "TITLE": "Empire Burlesque",
        "ARTIST": "Bob Dylan",
        "COUNTRY": "USA",
        "COMPANY": "Columbia",
        "PRICE": "10.90",
        "YEAR": "1985"
      },
      {
        "TITLE": "Hide your heart",
        "ARTIST": "Bonnie Tyler",
        "COUNTRY": "UK",
        "COMPANY": "CBS Records",
        "PRICE": "9.90",
        "YEAR": "1988"
      },
  ...
}

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output if True
quiet:       (boolean) suppress warning messages if True

Returns:

Dictionary. Raw or processed structured data.

Parser Information

Compatibility: linux, darwin, cygwin, win32, aix, freebsd

Source: jc/parsers/xml.py

Version 1.10 by Kelly Brazil (kellyjonbrazil@gmail.com)