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

Основна употреба на SimpleXML

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

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

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

simplexml.examples-errors.php

Основна употреба на SimpleXML

Справувањето со XML грешки при вчитување документи е многу едноставна задача. Користејќи ја libxml функционалноста можно е да се потиснат сите XML грешки при вчитување на документот и потоа да се итерира преку грешките.

На LibXMLError објектот, вратен од libxml_get_errors(), содржи неколку својства вклучувајќи го и message, line and column (позиција) на грешката.

Пример #1 Вчитување на оштетен XML стринг

<?php
libxml_use_internal_errors
(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (
$sxe === false) {
echo
"Failed loading XML\n";
foreach(
libxml_get_errors() as $error) {
echo
"\t", $error->message;
}
}
?>

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

Failed loading XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

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

openbip at gmail dot com
пред 16 години
Note that "if (! $sxe) {" may give you a false-negative if the XML document was empty (e.g. "<root />").  In that case, $sxe will be:

object(SimpleXMLElement)#1 (0) {
}

which will evaluate to false, even though nothing technically went wrong.

Consider instead: "if ($sxe === false) {"
1337 at netapp dot com
пред 10 години
If you need to process the content of your broken XML-doc you might find this interesting. It has blown past a few simple corruptions for me.
http://php.net/manual/en/class.domdocument.php#domdocument.props.recover
tuxedobob
пред 11 години
Now that the /e modifier is considered deprecated in preg_replace, you can use a negative lookahead to replace unescaped ampersands with &amp; without throwing warnings:

$str = preg_replace('/&(?!;{6})/', '&amp;', $str);

You probably should have been doing this before /e was deprecated, actually.
На оваа страница

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

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

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

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

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