xml 2.0.0 copy "xml: ^2.0.0" to clipboard
xml: ^2.0.0 copied to clipboard

outdatedDart 1 only

A lightweight library for parsing, traversing, and querying XML documents.

Dart XML #

Dart XML is a lightweight library for parsing, traversing, and querying XML documents.

The library is open source, stable and well tested. Development happens on GitHub. Feel free to report issues or create a pull-request there. General questions are best asked on StackOverflow.

Continuous build results are available from Jenkins. An introductionary tutorial is part of the class documentation.

Basic Usage #

Installation #

Add the dependency to your package's pubspec.yaml file:

dependencies:
  xml: ">=2.0.0 <3.0.0"

Then on the command line run:

$ pub get

To import the package into your Dart code write:

import 'package:xml/xml.dart';

Reading and Writing #

To read XML input use the top-level function parse(String input):

var bookshelfXml = '''<?xml version="1.0"?>
    <bookshelf>
      <book>
        <title lang="english">Growing a Language</title>
        <price>29.99</price>
      </book>
      <book>
        <title lang="english">Learning XML</title>
        <price>39.95</price>
      </book>
      <price>132.00</price>
    </bookshelf>''';
var document = parse(bookshelfXml);

The resulting object is an instance of XmlDocument. In case the document cannot be parsed, a ParseError is thrown.

To write back the parsed XML document simply call toString():

print(document.toString());

Traversing and Querying #

Accessors allow to access all nodes in the XML tree:

  • attributes returns an iterable over the attributes of the current node.
  • children returns an iterable over the direct children of the current node.

There are helpers to find elements with a specific tag:

  • findElements(String name) finds direct children of the current node with the provided tag name.
  • findAllElements(String name) finds direct and indirect children of the current node with the provided tag name.

For example, to find all the nodes with the

365
likes
0
pub points
100%
popularity

Publisher

verified publisherlukas-renggli.ch

A lightweight library for parsing, traversing, and querying XML documents.

Repository
View/report issues

Documentation

Documentation

License

unknown (LICENSE)

Dependencies

petitparser

More

Packages that depend on xml