SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.05.2018, 11:00:44
miamiomc miamiomc ist offline
Anfänger
 
Registriert seit: Feb 2014
Alter: 55
Beiträge: 4
Attributnamen mit xml_set_element_handler

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_parserXML_OPTION_CASE_FOLDINGtrue);
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($fp4096)) {
    if (!
xml_parse($xml_parser$datafeof($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>
Mit Zitat antworten
  #2  
Alt 04.05.2018, 12:35:44
miamiomc miamiomc ist offline
Anfänger
 
Registriert seit: Feb 2014
Alter: 55
Beiträge: 4
AW: Attributnamen mit xml_set_element_handler

Problem gelöst, gerade hat mich ein Kollege darauf hingewiesen. Hier der Geänderte Code:
PHP-Code:
<?php
$file 
"muster.xml";

function 
startElement($parser$name$attrs
{
        echo 
$name." | ";
        foreach(
$attrs as $attribute => $value)
        {
            echo 
$attribute."=".$value;
        }
    
#}
}

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_parserXML_OPTION_CASE_FOLDINGtrue);
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($fp4096)) {
    if (!
xml_parse($xml_parser$datafeof($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);
?>
Problem somit gelöst
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:11:29 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt