Hallo Gemeinde,
ich parse ein XML-Dokument mit dem Code:
PHP-Code:
<?php
$file = "muster.xml";
function startElement($parser, $name, $attrs)
{
echo $name." | ";
foreach($attrs as $attribute)
{
echo $attribute." >< ";
}
#}
}
function endElement($parser, $name)
{
echo $name;
}
function characterData($parser, $data)
{
echo $data."<BR>";
}
$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>
Dabei benötige ich nur den Wert des Attributes sondern auch den Namen. Weiß jemand was zu tun ist. in der PHP-Dokumentation habe ich nichts gefunden.
Die XML-Datei:
HTML-Code:
<?xml version="1.0" encoding="utf-8"?>
<SessionData SchemaVersion="2.0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header>
<SessionInfo StartTime="2018-03-02T11:34:37.8546418+01:00" EndTime="2018-03-02T12:27:30.6375104+01:00">
<SessionIdent>cb02b40a-5c5d-43f3-b88f-45a3b32dc321</SessionIdent>
<AnalysisRelevance>true</AnalysisRelevance>
</SessionInfo>
<System>
<SystemVersion>12.09.33.21392</SystemVersion>
<LanguageGui DataVersion="12.09.30">de-DE</LanguageGui>
<LanguageMarket DataVersion="12.09.30">de-DE</LanguageMarket>
<OSVersion>Microsoft Windows NT 6.2.9200.0</OSVersion>
<OSTyp>64 Bit</OSTyp>
</System>
</Header>
<Protocol StartTime="2018-03-02T11:34:50.0963529+01:00" EndTime="2018-03-02T12:27:30.6375104+01:00">
<Event StartTime="2018-03-02T11:34:56.6523167+01:00" LayoutGroup="X">
<WerteAlert UpperThreshold="12.55" ActualLevel="13.44" LowerThreshold="14.85" Severity="Ok" />
</Event>
<TestModule Result="Normal" CollectiveResult="Ok" Source="Whatever" StartTime="2018-03-02T11:35:14.416585+01:00" EndTime="2018-03-02T11:35:15.4271447+01:00" Identifier="EIGENER" WithGUI="false" LayoutGroup="D">
<Title Language="de-DE">Ablauf 1</Title>
<ModuleStep StartTime="2018-03-02T11:35:14.6147091+01:00" EndTime="2018-03-02T11:35:14.6167105+01:00" Title="Vorbereiten" />
<ModuleStep StartTime="2018-03-02T11:35:14.6167105+01:00" EndTime="2018-03-02T11:35:14.6177124+01:00" Title="Starten" />
<ModuleStep StartTime="2018-03-02T11:35:14.6217135+01:00" EndTime="2018-03-02T11:35:14.6217135+01:00" Title="Initialisierung" />
<ModuleStep StartTime="2018-03-02T11:35:14.6237154+01:00" EndTime="2018-03-02T11:35:15.2765198+01:00" Title="Merkmal">
<Action StartTime="2018-03-02T11:35:15.033013+01:00" EndTime="2018-03-02T11:35:15.1617295+01:00" Result="None" LayoutGroup="X">
<Gruppe1>
<Gruppe2>
<NameS>G_IIM</NameS>
<Address>0x63</Address>
</Gruppe2>
</Gruppe1>
</Action>
</ModuleStep>
</TestModule>
</Protocol>
</SessionData>