سؤال

ولدي شعور أنا يجري سميكة، ولكن هنا مشكلتي:

وأنا خلق الأشجار XML الديناميكية باستخدام PHP. هذه الأشجار تصف التسلسل الهرمي الموظف، وملف الدلائل، وما إلى ذلك تشمل أجزاء صغيرة من المحتوى على صفحة ويب. يتم لصقها بقية صفحة ويب معا من مصادر مختلفة الأخرى التي يمكن أن يستند SQL، أو نص ثابت أو بعض الطبقة العرض الخاصة. عندما أذهب لإخراج أشجار بلدي، وأنا تحويل XML إلى <ul> متداخلة. أود أن الإخراج الذي <ul> دون أي معلومات DOCTYPE / الرأس. لا يبدو DomDocument وSimpleXML الطبقات PHP للسماح بذلك. هو الخيار الوحيد لتجريد معلومات المخالف من بعد تخزين <ul> في سلسلة؟

هل كانت مفيدة؟

المحلول

وتبين لو أنني وضعت <xsl:output method="html" /> أنا لم يعد الانتاج وDOCTYPE التلقائي. حل المشكلة.

نصائح أخرى

وهناك في التعليق على هذا في نهاية هذه الصفحة: http://www.php.net/manual/en/libxml.constants.php

وSimpleXML يضيف رأس تلقائيا. هناك خيار لإيقاف تشغيله عند إنشاء كائن XML بسيط - في لLIBXML_NOXMLDECL ولكنه لا يعمل - لا يزال هناك خلل مفتوح حول هذا الموضوع - ارجع إلى الوصلة في أسفل الصفحة أعلى

وهذا هو ما فعلته في النهاية:

$doc = new DOMDocument('1.0');
$root = $doc->createElement('items');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode($item->title);
$text = $title->appendChild($text);
$items[] =  $doc->saveXML($root);

وطبعا هذا لا يعطيني كائن SimpleXml ولكن على الأقل في أكس وليس لديها رأس ..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top