phpbench / dom
DOM 实现的包装器,简化与 PHP DOM 操作
0.3.3
2023-03-06 23:46 UTC
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
这个库为 PHP DOM 库提供了一个包装器,使您的使用更加方便。
它包装了 \DOMDocument
,\DOMElement
和 \DOMXpath
类,并抛出 异常。
示例
$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
文档
PhpBench\Dom\Document
类包装了 \DOMDocument
类,并用 PhpBench\Dom\Element
类替换了 \DOMElement
类。
它实现了 XPathAware
接口。
createRoot($name, $value = null)
: 创建并返回一个新的根节点,具有$name
和可选的$value
。query($query, $context = null)
: 在文档上执行给定的 XPath 查询。queryOne($query, $context = null)
: 在文档上执行给定的 XPath 查询,并返回第一个元素或NULL
。evaluate($query, $context = null)
: 评估给定的 XPath 表达式。dump()
: 返回文档的格式化字符串表示。
元素
包装了 \DOMElement
类,并且在实例化 PhpBench\Dom\Document
类时默认使用。
它实现了 XPathAware
接口。
appendElement($name, $value)
: 创建并返回一个具有名称$name
和值$value
的元素。query
、queryOne
和evaluate
:与文档相同,但默认将使用此元素的上下文。