本文整理汇总了PHP中TheSeer\fDOM\fDOMDocument::createElement方法的典型用法代码示例。如果您正苦于以下问题:PHP fDOMDocument::createElement方法的具体用法?PHP fDOMDocument::createElement怎么用?PHP fDOMDocument::createElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TheSeer\fDOM\fDOMDocument
的用法示例。
在下文中一共展示了fDOMDocument::createElement方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generate
public function generate()
{
$document = new fDOMDocument();
// summary
$root = $document->createElement('phpact');
$root->setAttribute('project', $this->summary->getProjectName());
$root->setAttribute('base', $this->summary->getBaseVersion());
$root->setAttribute('challenger', $this->summary->getChallengerVersion());
$root->setAttribute('date', date('c', $this->summary->getTime()));
$root->setAttribute('signature', strip_tags($this->summary->getSignature()));
// difference list
$grouped = $this->groupDifferences($this->differences, Difference::UNIT_NAME);
foreach ($grouped as $unitName => $differences) {
/* @var $differences \RenanBr\PhpAct\Difference\DifferenceCollection */
$family = $differences->current()->getTag(Difference::UNIT_FAMILY);
$unitElement = $root->createElement($family);
$unitElement->setAttribute('name', $unitName);
$this->append($unitElement, 'constant', $differences, Difference::CONSTANT_NAME);
$this->append($unitElement, 'member', $differences, Difference::MEMBER_NAME);
$this->append($unitElement, 'method', $differences, Difference::METHOD_NAME);
$root->appendChild($unitElement);
}
$document->appendChild($root);
$document->preserveWhiteSpace = false;
$document->formatOutput = true;
return $document->saveXML();
}
示例2: createPhpDoxConfig
/**
* @param string[] $units
* @param string[] $visibilities
* @return fDOMDocument
*/
private function createPhpDoxConfig(array $units, array $visibilities)
{
$dom = new fDOMDocument();
$dom->loadXML($this->factory->getConfigSkeleton()->renderStripped());
$dom->registerNamespace('config', ConfigLoader::XMLNS);
// set up silent
$silent = $this->output->getVerbosity() <= OutputInterface::VERBOSITY_NORMAL ? 'true' : 'false';
$dom->queryOne('//config:phpdox')->setAttribute('silent', $silent);
// set up directories
$projectNode = $dom->queryOne('//config:project');
$projectNode->setAttribute('source', $this->sourceDirectory);
$projectNode->setAttribute('workdir', $this->buildDirectory);
// inject flag to avoid unecessary processing according to the visibility filter
if (1 === count($visibilities) && in_array('public', $visibilities)) {
$collectorNode = $dom->queryOne('//config:collector');
$projectNode->setAttribute('publiconly', 'true');
}
// remove current masks
$query = "//config:collector/*[name()='include' or name()='exclude']";
foreach ($dom->query($query) as $mask) {
$mask->parentNode->removeChild($mask);
}
// append files to be parsed
$collector = $dom->queryOne('//config:collector');
foreach ($units as $unitFile) {
$include = $dom->createElement('include');
$include->setAttribute('mask', $unitFile);
$collector->appendChild($include);
}
return $dom;
}
示例3: testThatANodeFromADifferentDocumentIsNotConsideredAsInSameDocument
/**
* @covers \TheSeer\fDOM\fDOMDocument::inSameDocument
*/
public function testThatANodeFromADifferentDocumentIsNotConsideredAsInSameDocument()
{
$dom = new fDOMDocument();
$node = $dom->createElement('foo');
$this->dom->loadXML('<?xml version="1.0" ?><root />');
$this->assertFalse($this->dom->documentElement->inSameDocument($node));
}
示例4: mergeFiles
/**
* Merge all files.
*
* @param string $directory
* @param Finder $finder
*
* @return fDOMDocument
*/
private function mergeFiles($directory, Finder $finder)
{
$outXml = new fDOMDocument();
$outXml->formatOutput = true;
$outTestSuites = $outXml->createElement('testsuites');
$outXml->appendChild($outTestSuites);
$outTestSuite = $outXml->createElement('testsuite');
$outTestSuites->appendChild($outTestSuite);
$tests = 0;
$assertions = 0;
$failures = 0;
$errors = 0;
$time = 0;
/** @var SplFileInfo $file */
foreach ($finder as $file) {
if ($this->isFileEmpty($file)) {
continue;
}
$inXml = $this->loadFile($file->getRealpath());
foreach ($inXml->query('//testsuites/testsuite') as $inElement) {
$inName = $inElement->getAttribute('name');
$outName = $inName;
$suffix = 2;
while ($outTestSuite->query('//testsuite[@name="' . $outName . '"]')->length !== 0) {
$outName = $inName . '_' . $suffix;
$suffix++;
}
$outElement = $outXml->importNode($inElement, true);
$outElement->setAttribute('name', $outName);
$outTestSuite->appendChild($outElement);
$tests += $inElement->getAttribute('tests');
$assertions += $inElement->getAttribute('assertions');
$failures += $inElement->getAttribute('failures');
$errors += $inElement->getAttribute('errors');
$time += $inElement->getAttribute('time');
}
}
$outTestSuite->setAttribute('name', $directory);
$outTestSuite->setAttribute('tests', $tests);
$outTestSuite->setAttribute('assertions', $assertions);
$outTestSuite->setAttribute('failures', $failures);
$outTestSuite->setAttribute('errors', $errors);
$outTestSuite->setAttribute('time', $time);
return $outXml;
}