هل هناك طريقة للقيام التحقق من صحة XSD من تيار XML في PHP

StackOverflow https://stackoverflow.com/questions/1402144

  •  05-07-2019
  •  | 
  •  

سؤال

ودعونا نقول أريد أن أكون قادرة على التحقق من أن ملف 50GB + XML يتوافق إلى XSD معين. أنا يمكن أن تستخدم

DOMDocument::load & DOMDocument::schemaValidate

ولكن من شأنها أن تأخذ كل الوقت على التحميل وسوف يستنفد عموما كافة الذاكرة المتوفرة بالنسبة لي. هل هناك أي طريقة لإطعام XSD إلى SAX أو أي نوع آخر من المعالجات تيار، وأنها تحقق من أن كل شيء على ما يرام؟

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

المحلول

يمكنك استخدام XmlReader:

$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top