Articles of libxml2

XML-каталог в PHP

SimpleXML использует libxml под ним, но я не уверен, может ли он разрешать узлам узлов использовать локальный кеш. Я пробовал и анализировал CentOS и систему Ubuntu, установил необходимые пакеты, получил /etc/xml/catalog aka <?xml version="1.0"?> <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/rele> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> … (docbook here) <delegatePublic publicIdStartString="-//W3C//DTD XHTML 1.0" catalog="file:///usr/share/sgml/xhtml1/xmlcatalog"/> <delegateSystem […]

libxml htmlParseDocument игнорирует флаги htmlParseOption

Поиск того, кто использует libxml через среду, отличную от упакованной с PHP, чтобы подтвердить флаг HTML_PARSE_NOWARNING, игнорируется. Предупреждения все еще генерируются. Исходный код PHP, реализующий libxml в C: //one of these options is 64 or HTML_PARSE_NOWARNING htmlCtxtUseOptions(ctxt, (int)options); ctxt->vctxt.error = php_libxml_ctx_error; ctxt->vctxt.warning = php_libxml_ctx_warning; if (ctxt->sax != NULL) { ctxt->sax->error = php_libxml_ctx_error; ctxt->sax->warning = php_libxml_ctx_warning; […]

Невозможно разобрать CDATA с SimpleXML

У меня есть следующий код XML: <para> <![CDATA[ <?php $data = '<?xml version="1.0"?> <root>content</root>'; $sxe = simplexml_load_string($data); var_dump($sxe); ?> ]]> </para> Я хочу проанализировать раздел CDATA, чтобы получить этот результат: Content: <?php $data = '<?xml version="1.0"?> <root>content</root>'; $sxe = simplexml_load_string($data); var_dump($sxe); ?> Я использую следующее, но это не работает. $xml='sxml.xml'; $book = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA); […]

Обработчик ошибок libxml с OOP

Мне нужно ловить ошибки libxml. Но я хочу использовать свой класс для этого. Я знаю о libxml_get_errors и других функциях. Но мне нужно что-то вроде libxml_set_erroc_class("myclass") и во всех случаях ошибка вызовет мой класс. Я не хочу в каждом случае после использования $dom->load(…) создавать некоторую конструкцию, например foreach(libxml_get_errors as $error) {….} . Вы можете мне […]

Обнаруживать теги самоподключения XML с помощью PHP XMLReader

Я хотел бы проанализировать один XML-документ с помощью XMLReader. У меня есть переключатель случая со всеми Константами. Однако, если тег самозакрывающийся XMLReader запускает только ELEMENT, а не ELEMENT и END_ELEMENT, как ожидалось. Обнаружение через свойство класса $ isEmptyElement также не работает, потому что тег имеет атрибуты. Поэтому мой вопрос: как обнаружить самозакрывающийся тег XML с […]

Ускорение проверки XML-схемы пакета XML-файлов по той же схеме XML (XSD)

Я хотел бы ускорить процесс проверки партии XML-файлов по одной и той же единой схеме XML (XSD). Только ограничения заключаются в том, что я в среде PHP. Моя текущая проблема заключается в том, что схема, к которой я хочу выполнить проверку, включает довольно сложную схему xhtml из 2755 строк (http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd). Даже для очень простых данных […]

Проверка XML для XSD в PHP libxml

Я создал xml, как показано ниже. <Request> <RequestType>Logon</RequestType> <MobileId>23424</MobileId> <Password>123456Gg</Password> </Request> и мой xsd-файл похож на код ниже <?xml version="1.0" encoding="utf-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Request" type="RequestType"/> <xsd:complexType name="RequestType"> <xsd:sequence> <xsd:element name="RequestType"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Logon"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="MobileId" > <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="0" /> <xsd:maxLength value="10" /> </xsd:restriction> […]

PHP LIBXML_NOWARNING не подавляет предупреждения?

Использование флажка LIBXML_NOWARNING не останавливает wanrings при загрузке html с помощью PHPDOMDocument-> loadHTML. Другие константы действительно работают. В приведенном ниже примере я добавляю LIBXML_HTML_NODEFDTD, чтобы доказать, что константы получены (останавливает добавление doctype). $doc=new DOMDocument(); $doc->loadHTML("<tagthatdoesnotexist><h1>Hi</h1></tagthatdoesnotexist>",LIBXML_NOERROR | LIBXML_NOWARNING | LIBXML_HTML_NODEFDTD); echo $doc->saveHTML(); Однако предупреждения все еще генерируются и выводятся. Что мне не хватает?

Как проверить, является ли String допустимым XML-кодом, отображающим предупреждение в PHP

Я пытался проверить правильность строки как xml с помощью этой функции simplexml_load_string() Docs, но она отображает много предупреждающих сообщений. Как я могу проверить, является ли строка допустимым XML без подавления ( @ в начале ) ошибки и отображения функции предупреждения, которая expec

PHP, SimpleXML, декодирование объектов в CDATA

Я испытываю следующее поведение: $xml_string1 = "<person><name><![CDATA[ Someone's Name ]]></name></person>"; $xml_string2 = "<person><name> Someone's Name </name></person>"; $person = new SimpleXMLElement($xml_string1); print (string) $person->name; # Someone's Name $person = new SimpleXMLElement($xml_string2); print (string) $person->name; # Someone's Name $person = new SimpleXMLElement($xml_string1, LIBXML_NOCDATA); print (string) $person->name; # Someone's Name В документах php говорится, что NOCDATA «Слияние [s] […]

Intereting Posts
Как удалить файлы из каталога на основе даты создания в php? Подсчитайте строки с одинаковым идентификатором в php Разбить одну строку текста без каких-либо различимых точек останова в PHP Разрешение неправильной кодировки символов при отображении результатов базы данных MySQL после обновления до PHP 5.3 лучший способ защитить простой wysiwyg с помощью php Должны ли изменения SymfonyRequirements.php быть включены в контроль версий? Выбор правильной технологии / библиотеки для добавления указанного пользователем текста по пути в ранее определенных областях Пароль защищает страницу без доступа к db с помощью php Поддерживает ли php поддержку перегрузки оператора? Как получить содержимое javascript / ajax -loaded div на сайте? Структура папок PHP XAMPP DOCUMENT_ROOT XMLHttpRequest Почтовые данные не отправляются PHP-переменные заканчиваются NULL (но работает код)! mysql_escape_string весь массив сообщений? PHP Замена ругательных слов фразами