DOM 实现的包装器,简化与 PHP DOM 操作

0.3.3 2023-03-06 23:46 UTC

This package is auto-updated.

Last update: 2024-09-07 03:13:42 UTC


README

CI

这个库为 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 的元素。
  • queryqueryOneevaluate:与文档相同,但默认将使用此元素的上下文。