Skip to content
This repository has been archived by the owner on Oct 12, 2024. It is now read-only.

Latest commit

 

History

History
67 lines (48 loc) · 1.84 KB

README.md

File metadata and controls

67 lines (48 loc) · 1.84 KB

DOM

This library is abandoned

CI

This library provides a wrapper for the PHP DOM library which makes your life easier.

It wraps the \DOMDocument, \DOMElement and \DOMXpath classes and throws exceptions.

Example:

$dom = new Document();
$element = $dom->createRoot('example');
$element->appendChild('boo', 'hello');
$element->appendChild('baz', 'world');

echo $dom->dump();
// <?xml version="1.0"?>
// <example>
//   <boo>hello</boo>
//   <baz>world</baz>
// </example>

$element->appendElement('number', 5);
$element->appendElement('number', 10);

echo $element->evaluate('sum(./number)'); // 15

$nodeList = $element->query('./number');

echo $nodeList->length; // 2

Document

The PhpBench\Dom\Document class wraps the \DOMDocument class and replaces the \DOMElement class with the PhpBench\Dom\Element class.

It implements the XPathAware interface.

  • createRoot($name, $value = null): Create and return a new root node with $name and optional $value.
  • query($query, $context = null): Execute a given XPath query on the document.
  • queryOne($query, $context = null): Execute a given XPath query on the document and return the first element or NULL.
  • evaluate($query, $context = null): Evaluate the given XPath expression.
  • dump(): Return a formatted string representation of the document.

Element

Wraps the \DOMElement class and is used by default when you instantiate a PhpBench\Dom\Document class.

It implements the XPathAware interface.

  • appendElement($name $value): Create and return an element with name $name and value $value.
  • query, queryOne and evaluate: As with Document but will use the context of this element by default.