<commit_before>= All-purpose Property List manipulation library

{<img alt="Status?branch=master" src="https://codeship.com/projects/3b26f2d0-bf92-0132-7a19-3a4372b16de9/status?branch=master" />}[https://codeship.com/projects/73003]
{<img src="https://codeclimate.com/github/cellabus/plist/badges/gpa.svg" />}[https://codeclimate.com/github/cellabus/plist]
{<img src="https://gemnasium.com/cellabus/plist.svg" alt="Dependency Status" />}[https://gemnasium.com/cellabus/plist]

This repository is forked from the abandoned https://github.com/bleything/plist with updates

Plist is a library to manipulate Property List files, also known as plists.  It can parse plist files into native Ruby data structures as well as generating new plist files from your Ruby objects.

== Usage

=== Parsing

  result = Plist::parse_xml('path/to/example.plist')

  result.class
  => Hash

  "#{result['FirstName']} #{result['LastName']}"
  => "<NAME>"

  result['ZipPostal']
  => "12345"

==== Example Property List

  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
          <key>FirstName</key>
          <string>John</string>

          <key>LastName</key><commit_msg>Add code coverage badge to readme<commit_after>= All-purpose Property List manipulation library

{<img alt="Status?branch=master" src="https://codeship.com/projects/3b26f2d0-bf92-0132-7a19-3a4372b16de9/status?branch=master" />}[https://codeship.com/projects/73003]
{<img src="https://codeclimate.com/github/cellabus/plist/badges/gpa.svg" />}[https://codeclimate.com/github/cellabus/plist]
{<img src="https://codeclimate.com/github/cellabus/plist/badges/coverage.svg" />}[https://codeclimate.com/github/cellabus/plist/coverage]
{<img src="https://gemnasium.com/cellabus/plist.svg" alt="Dependency Status" />}[https://gemnasium.com/cellabus/plist]

This repository is forked from the abandoned https://github.com/bleything/plist with updates

Plist is a library to manipulate Property List files, also known as plists.  It can parse plist files into native Ruby data structures as well as generating new plist files from your Ruby objects.

== Usage

=== Parsing

  result = Plist::parse_xml('path/to/example.plist')

  result.class
  => Hash

  "#{result['FirstName']} #{result['LastName']}"
  => "<NAME>"

  result['ZipPostal']
  => "12345"

==== Example Property List

  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
          <key>FirstName</key>
          <string>John</string>

          <key>LastName</key>
{'fraction_non_alphanumeric': 0.1665443873807777, 'fraction_numerical': 0.03008070432868672, 'mean_word_length': 4.347058823529411, 'pattern_counts': {'":': 0, '<': 32, '<?xml version=': 2, '>': 38, 'https://': 16, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7074275', 'n_tokens_mistral': 998, 'n_tokens_neox': 912, 'n_words': 191}