PHP code example of s9e / sweetdom
1. Go to this page and download the library: Download s9e/sweetdom library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
s9e / sweetdom example snippets
mixed evaluate(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true)
?DOMNode firstOf(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true)
DOMNodeList query(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true)
Comment createComment(string $data)
Element createElement(string $nodeName, string $textContent = '')
Element createElementNS(?string $namespace, string $nodeName, string $textContent = '')
Element createXslApplyTemplates(string $select = null, string $mode = null)
Element createXslAttribute(string $name, string $textContent = '', string $namespace = null)
Element createXslChoose()
Element createXslComment(string $textContent = '')
Element createXslCopyOf(string $select)
Element createXslElement(string $name, string $namespace = null, string $useAttributeSets = null)
Element createXslIf(string $test, string $textContent = '')
Element createXslOtherwise(string $textContent = '')
Element createXslText(string $textContent = '', string $disableOutputEscaping = null)
Element createXslValueOf(string $select, string $disableOutputEscaping = null)
Element createXslVariable(string $name, string $select = null)
Element createXslWhen(string $test, string $textContent = '')
$xsl = '<xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<p><span><br/></span></p>
</xsl:template>';
$dom = new s9e\SweetDOM\Document;
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$dom->loadXML($xsl);
$span = $dom->firstOf('//span');
$methods = ['afterXslText', 'appendXslText', 'beforeXslText', 'prependXslText'];
foreach ($methods as $methodName)
{
$span->$methodName($methodName);
}
$dom->firstOf('//br')->replaceWithXslText('replaceWithXslText');
echo $dom->saveXML($dom->documentElement);
$dom = new s9e\SweetDOM\Document;
$dom->loadXML('<x id="1"><x id="2"/></x>');
var_dump($dom->firstOf('//x')->getAttribute('id'));
var_dump($dom->firstOf('//x')->firstOf('x')->getAttribute('id'));
Element afterElement(string $nodeName, string $textContent = '')
Element appendElement(string $nodeName, string $textContent = '')
Element beforeElement(string $nodeName, string $textContent = '')
Element prependElement(string $nodeName, string $textContent = '')
$dom = new s9e\SweetDOM\Document;
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$dom->loadXML('<p><span><br/></span></p>');
$span = $dom->firstOf('//span');
$methods = ['afterElement', 'appendElement', 'beforeElement', 'prependElement'];
foreach ($methods as $methodName)
{
$span->$methodName('i', $methodName);
}
echo $dom->saveXML($dom->documentElement);
$dom = new s9e\SweetDOM\Document;
$dom->loadXML('<x/>');
$x = $dom->firstOf('//x');
$x->appendDocumentFragment(
// The callback will be executed before the fragment is appended
fn($fragment) => $fragment->appendXML('<y/><z/>')
);
echo $dom->saveXML($x);