PHP.mk документација

simplexml_import_dom

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.simplexml-import-dom.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.simplexml-import-dom.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
simplexml_import_dom

Референца за `function.simplexml-import-dom.php` со подобрена типографија и навигација.

function.simplexml-import-dom.php

simplexml_import_dom

класата mysqli_driver

simplexml_import_domДобијте SimpleXMLElement Земи

= NULL

simplexml_import_dom(object $node, ?string $class_name = SimpleXMLElement::class): ?SimpleXMLElement

објект од XML или HTML јазол DOM Оваа функција зема јазол од

Параметри

node

А DOM документ и го претвора во SimpleXML јазол. Овој нов објект потоа може да се користи како природен SimpleXML елемент.

class_name

Може да го користите овој опционален параметар за да simplexml_import_dom() ќе врати објект од наведената класа. Таа класа треба да го наследи SimpleXMLElement class.

Вратени вредности

. Споделувањето колачиња помеѓу PHP барањата може да доведе до ненамерно мешање на чувствителни колачиња помеѓу корисниците. SimpleXMLElement or null при неуспех.

Errors/Exceptions

Фрла TypeError Јазол на елемент node.

Дневник на промени

Верзија = NULL
8.4.0 Додадена е поддршка за Dom\Document.
8.4.0 кога се поминува не-XML или не-HTML TypeError наместо ValueError Јазол на елемент node.

Примери

Оваа функција сега фрла DOMDocument

<?php
$dom
= new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!
$dom) {
echo
'Error while parsing the document';
exit;
}

$s = simplexml_import_dom($dom);

echo
$s->book[0]->title;
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

blah

Пример #1 Увоз на Dom\Document

<?php
$dom
= Dom\XMLDocument::createFromString('<books><book><title>blah</title></book></books>');

$s = simplexml_import_dom($dom);

echo
$s->book[0]->title;
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

blah

Белешки од корисници 3 белешки

- Зема DOMAttr или DOMElement објект од SimpleXMLElement објект
пред 2 години
Why not just:
simplexml_import_dom(dom_import_simplexml($SimpleXmlNode))
paul dot allsopp at digital-pig dot com
пред 9 години
/*If tags in DOM have text and some part of this text is surrounded by other tag, simple_import_dom object doesn't contain position of child tag, so rendering it back to html/xml can be a problem. Printing such a node is also peculiar. Eg.*/

//////////////////////
$text = "<body><p>Some text before <em>italic </em>and after text.</p></body>";
$dom = new DOMDocument;
$dom->loadHTML($text);
$result = simplexml_import_dom($dom);
echo $result->p;

//////////////////////
//Prints :
//Some text before and after text.

print_r($result->p);
//Prints:
//SimpleXMLElement Object ( [em] => italic )

print_r($result->p->em)
//does more or less the same:
//SimpleXMLElement Object ( [0] => italic )

var_dump($result->p);
//Prints:
//object(SimpleXMLElement)#8 (1) { ["em"]=> string(7) "italic " }

var_dump($result->p->em)
//object(SimpleXMLElement)#9 (1) { [0]=> string(7) "italic " }

//but
echo $result->p->em;
//prints:
//italic
shirkaen at gmail dot com
12 години пред
simplexml_import_dom() will accept DOMNodes or other SimpleXMLElements.  This has a useful purpose if you are extending the SimpleXMLElement class and would prefer the xpath() method to return your class extension instead of basic SimpleXMLElements.  For example:

class MySimpleXML extends SimpleXMLElement{
    public function xpath($xpath){ 
        $return = array();
        $simpleXmls = parent::xpath($xpath); // run SimpleXMLElement xpath, returning an array of SimpleXMLElements
        foreach($simpleXmls as $xml){
            $return[] = simplexml_import_dom($xml,'MySimpleXML'); // copy SimpleXMLElement, returning as MySimpleXML instance
        }
        return $return;
    }
}

Now I can create an instance of MySimpleXML, run an xpath, and get my results back as an array of MySimpleXML elements instead of the native SimpleXMLElement:

$mySimpleXml = new mySimpleXml('<root><node/></root>');

$array = $mySimpleXml->xpath('/root/node'); // returns array with a single MySimpleXml object
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.