Elemente mit SimpleXML verändern

gyrosundmaronen

Grünschnabel
Hallo zusammen,

ich habe folgende XML-Datei. Das ist ein Kursexport des Lern Management Systems ILIAS.

Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Course PUBLIC "-//ILIAS//DTD Course//EN" "http://ilias.copendia.de/xml/ilias_course_3_8.dtd">
<!--Export of ILIAS course 4421 of installation 0.-->
<Course exportVersion="2" id="il_0_crs_4421"><MetaData>
<General Structure="Hierarchical">
<Identifier Catalog="ILIAS" Entry="il__crs_4421"/>
<Title Language="de">Adventskalender</Title><Language Language="en"/>
<Description Language="de"/><Keyword Language="de"/>
</General>
</MetaData>
<AdvancedMetaData/>
<Admin id="il_0_usr_6" notification="No" passed="No"/>
<Admin id="il_0_usr_4429" notification="No" passed="No"/>
<Member id="il_0_usr_4429" blocked="No" passed="No"/>
<Settings><Availability><TemporarilyAvailable><Start>1258125060</Start><End>1258126060</End></TemporarilyAvailable></Availability>
<Syllabus/><ImportantInformation/><Contact><Name/><Responsibility/>
<Phone/><Email/><Consultation/></Contact>
<Registration registrationType="Direct" maxMembers="0" notification="Yes" waitingList="Yes"><Disabled/></Registration><Sort type="Manual"/>
<Archive Access="Disabled"><Start>1258125060</Start><End>1323644400</End></Archive></Settings></Course>

In dieser Datei möchte gerne auf die Werte der Elemente "Title","Start" und "End" zugreifen. Mit Start und End klappt das wunderbar. Ich benutzte dazu SimpleXML.

Code:
$content = file_get_contents("Kurs_XML/1281010660__0__crs_4421.xml");	
$xml = new SimpleXMLElement($content);
echo $xml->Settings->Availability->TemporarilyAvailable->Start.'<br>';	
$xml->Settings->Availability->TemporarilyAvailable->Start = 1; 
echo $xml->Settings->Availability->TemporarilyAvailable->Start.'<br>';

Ausgabe:

Code:
1258125060
1

Wenn ich das gleiche mit dem Element "Title" versuche bekomme ich weder eine Ausgabe noch den Wert verändert.

Code:
$xml->Course->MetaData->General->Identifier->Title

Kann mir jemand helfen.

Vielen Dank im Voraus.

Gruß gyros

PHP Version 5.2.14
 
...
In dieser Datei möchte gerne auf die Werte der Elemente "Title","Start" und "End" zugreifen. Mit Start und End klappt das wunderbar. Ich benutzte dazu SimpleXML.
...
Wenn ich das gleiche mit dem Element "Title" versuche bekomme ich weder eine Ausgabe noch den Wert verändert.
Hallo,
wenn du dein XML-Dokument mal in der Pretty-Print-Darstellung ansiehst, wirst du sicherlich schon selbst drauf kommen, dass du auf dem falschen Titel-Pfad bist:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Course PUBLIC "-//ILIAS//DTD Course//EN" "http://ilias.copendia.de/xml/ilias_course_3_8.dtd">
<!--Export of ILIAS course 4421 of installation 0.-->
<Course exportVersion="2" id="il_0_crs_4421">
  <MetaData>
    <General Structure="Hierarchical">
      <Identifier Catalog="ILIAS" Entry="il__crs_4421"/>
      <Title Language="de">Adventskalender</Title>
      <Language Language="en"/>
      <Description Language="de"/>
      <Keyword Language="de"/>
    </General>
  </MetaData>
  <AdvancedMetaData/>
  <Admin id="il_0_usr_6" notification="No" passed="No"/>
  <Admin id="il_0_usr_4429" notification="No" passed="No"/>
  <Member id="il_0_usr_4429" blocked="No" passed="No"/>
  <Settings>
    <Availability>
      <TemporarilyAvailable>
        <Start>1258125060</Start>
        <End>1258126060</End>
      </TemporarilyAvailable>
    </Availability>
    <Syllabus/>
    <ImportantInformation/>
    <Contact>
      <Name/>
      <Responsibility/>
      <Phone/>
      <Email/>
      <Consultation/>
    </Contact>
    <Registration registrationType="Direct" maxMembers="0" notification="Yes" waitingList="Yes">
      <Disabled/>
    </Registration>
    <Sort type="Manual"/>
    <Archive Access="Disabled">
      <Start>1258125060</Start>
      <End>1323644400</End>
    </Archive>
  </Settings>
</Course>
 
Zuletzt bearbeitet von einem Moderator:
Zurück