phpbench / dom
DOM wrapper to simplify working with the PHP DOM implementation
Installs: 6 406 866
Dependents: 4
Suggesters: 0
Security: 0
Stars: 15
Watchers: 3
Forks: 3
Open Issues: 0
Requires
- php: ^7.3||^8.0
- ext-dom: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.0||^9.0
README
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 orNULL
.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
andevaluate
: As with Document but will use the context of this element by default.