Ik heb een XML bestand waarvan u een deel hieronder ziet. Nu wil ik bijvoorbeeld de tekst uit het element <mattext> halen met bijvoorbeeld SimpleXML.
Nu leek het mij logisch, aldus ook het internet, om via de volgende PHP-code dit te verwezenlijken. Helaas krijg ik niets op het scherm.
[XML]
<questestinterop>
<assessment ident="myolat_1_85225186440462" title="JoeyTest">
<qtimetadata>
<qtimetadatafield>
<fieldlabel>qmd_assessmenttype</fieldlabel>
<fieldentry>Assessment</fieldentry>
</qtimetadatafield>
</qtimetadata>
<section ident="myolat_1_85225186440463" title="Sectie Een, deel 1">
<objectives>
<material>
<mattext><![CDATA[Descriptie van sectie één, deel 1]]></mattext>
</material>
</objectives>
<selection_ordering>
<selection/>
<order order_type="Sequential"/>
</selection_ordering>
<item ident="QTIEDIT:SCQ:1000001532" title="Vraag 1">
<objectives>
<material>
<mattext><![CDATA[<p>Duidt het juiste keuzerondje aan.</p>]]></mattext>
</material>
</objectives>
<itemcontrol feedbackswitch="No" hintswitch="No" solutionswitch="No"/>
<presentation>
<material>
<mattext texttype="text/html"><![CDATA[Hoeveel is 1 + 1?]]></mattext>
</material>
<response_lid ident="1000001534" rcardinality="Single" rtiming="No">
<render_choice shuffle="No" minnumber="1" maxnumber="1">
<flow_label class="List">
<response_label ident="1000001537" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[één (1)]]></mattext>
</material>
</response_label>
</flow_label>
<flow_label class="List">
<response_label ident="1000002254" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[twee (2)]]></mattext>
</material>
</response_label>
</flow_label>
<flow_label class="List">
<response_label ident="1000002294" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[drie (3)]]></mattext>
</material>
</response_label>
</flow_label>
</render_choice>
</response_lid>
</presentation>
<resprocessing>
[/XML]
Alle voorstellen zijn welkom!
Joey
Nu leek het mij logisch, aldus ook het internet, om via de volgende PHP-code dit te verwezenlijken. Helaas krijg ik niets op het scherm.
PHP:
$xml = simplexml_load_file($filename, 'SimpleXMLElement', LIBXML_NOCDATA);
<p>Description: <?php echo $xml->assesment->section->objectives->material->mattext; ?></p>
//niks op het scherm ook bij bijvoorbeeld:
<p>Assessment Title: <?php echo $xml->assesment['title']; ?></p>
<p>Section Title: <?php echo (string) $xml->assesment->section['title']; ?></p>
<questestinterop>
<assessment ident="myolat_1_85225186440462" title="JoeyTest">
<qtimetadata>
<qtimetadatafield>
<fieldlabel>qmd_assessmenttype</fieldlabel>
<fieldentry>Assessment</fieldentry>
</qtimetadatafield>
</qtimetadata>
<section ident="myolat_1_85225186440463" title="Sectie Een, deel 1">
<objectives>
<material>
<mattext><![CDATA[Descriptie van sectie één, deel 1]]></mattext>
</material>
</objectives>
<selection_ordering>
<selection/>
<order order_type="Sequential"/>
</selection_ordering>
<item ident="QTIEDIT:SCQ:1000001532" title="Vraag 1">
<objectives>
<material>
<mattext><![CDATA[<p>Duidt het juiste keuzerondje aan.</p>]]></mattext>
</material>
</objectives>
<itemcontrol feedbackswitch="No" hintswitch="No" solutionswitch="No"/>
<presentation>
<material>
<mattext texttype="text/html"><![CDATA[Hoeveel is 1 + 1?]]></mattext>
</material>
<response_lid ident="1000001534" rcardinality="Single" rtiming="No">
<render_choice shuffle="No" minnumber="1" maxnumber="1">
<flow_label class="List">
<response_label ident="1000001537" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[één (1)]]></mattext>
</material>
</response_label>
</flow_label>
<flow_label class="List">
<response_label ident="1000002254" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[twee (2)]]></mattext>
</material>
</response_label>
</flow_label>
<flow_label class="List">
<response_label ident="1000002294" rshuffle="Yes">
<material>
<mattext texttype="text/html"><![CDATA[drie (3)]]></mattext>
</material>
</response_label>
</flow_label>
</render_choice>
</response_lid>
</presentation>
<resprocessing>
[/XML]
Alle voorstellen zijn welkom!
Joey