自动读取PHP中的XML文件

时间:2014-07-22 08:36:33

标签: php xml file-io

我想用PHP代码中的HTML输出读取更多2000个XML文件。所以我试图用XSLT / PHP DOM读取它们。 但我想创建一个自动读取这些文件的自动化程序。 这是我的XML文件的一个示例:

    <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="../StyleSheets/VDD11.xsl" type="text/xsl"?>

    <Publication xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="F592" type="Fiche d'information" xsi:noNamespaceSchemaLocation="../Schemas/2.3/Publication.xsd">
    <dc:title>Secteur privé : activité partielle du salarié</dc:title>
    <dc:creator>Direction de l'information légale et administrative</dc:creator>
    <dc:subject>Formation - Travail, Ressources humaines</dc:subject>
    <dc:description>Lorsqu'une entreprise est confrontée à une baisse temporaire d'activité, elle peut réduire la durée du travail des salariés concernés. Ceux-ci perçoiv</dc:description>
    <dc:publisher>Direction de l'information légale et administrative</dc:publisher>
    <dc:contributor>Direction de l'information légale et administrative (Premier ministre)</dc:contributor>
    <dc:date>modified 2013-07-03</dc:date>
    <dc:type>Fiche</dc:type>
    <dc:format>text/xml</dc:format>
    <dc:identifier>F592</dc:identifier>
    <dc:source>http://www.legifrance.gouv.fr/affichCode.do?cidTexte=LEGITEXT000006072050, http://circulaires.legifrance.gouv.fr/pdf/2013/07/cir_37288.pdf</dc:source>
    <dc:language>Fr</dc:language>
    <dc:relation>isPartOf N31002</dc:relation>
    <dc:coverage>France entière</dc:coverage>
    <dc:rights>http://www.service-public.fr/apropos-du-site/001371.html</dc:rights>
    <Audience top="false">Particuliers</Audience>
    <Audience top="false">Professionnels</Audience>
    <Canal>www.service-public.fr</Canal>
    <FilDAriane>
    <Niveau ID="N24267">Ressources humaines</Niveau>
    <Niveau ID="N10813">Réglementation du travail</Niveau>
    <Niveau ID="N31002">Chômage partiel</Niveau>
    </FilDAriane>
    <Theme ID="N24267">Ressources humaines</Theme>
    <SousThemePere ID="N10813">Réglementation du travail</SousThemePere><DossierPere ID="N31002">
    <Titre>Chômage partiel</Titre>
    <Fiche ID="F592">Règles de l'activité partielle du salarié</Fiche>
    <Fiche ID="F23503">Démarches de l'employeur</Fiche>
    <Fiche ID="F13898">Rémunération d'un salarié placé en activité partielle</Fiche>
    </DossierPere>

    <Introduction>
    <Texte><Paragraphe>Lorsqu'une entreprise est confrontée à une baisse temporaire d'activité, elle peut réduire la durée du travail des salariés concernés. Ceux-ci perçoivent en contrepartie une indemnité durant les périodes non travaillées.</Paragraphe>
    </Texte>
    </Introduction>
    <Texte><Chapitre>
    <Titre>
    <Paragraphe>Conditions du recours à l'activité partielle</Paragraphe>
    </Titre><SousChapitre>
    <Titre>
    <Paragraphe>Entreprises concernées</Paragraphe>
    </Titre><Paragraphe>
    <LienInterne LienPublication="F23503" type="Fiche d'information" audience="Professionnels">L'employeur</LienInterne> peut demander à placer tout ou partie des salariés en position d'activité partielle lorsque l'entreprise est contrainte de réduire ou de suspendre temporairement son activité pour l'un des motifs suivants :</Paragraphe><Liste type="puce">
<Item>
<Paragraphe>une conjoncture économique défavorable (baisse des commandes, par exemple),</Paragraphe>
</Item>
<Item>
<Paragraphe>des difficultés d'approvisionnement en matières premières ou en énergie,</Paragraphe>
</Item>
<Item>
<Paragraphe>un sinistre (ou des intempéries) ou toute autre circonstance de caractère exceptionnel (perte du principal client, par exemple), ayant entraîné l'interruption ou la réduction de l'activité,</Paragraphe>
</Item>
<Item>
<Paragraphe>la transformation, restructuration ou modernisation de l'entreprise.</Paragraphe>
</Item>
</Liste>

</SousChapitre>
<SousChapitre>
<Titre>
<Paragraphe>Salariés concernés</Paragraphe>
</Titre><Paragraphe>Tout salarié peut être placé en position d'activité partielle, s'il subit une perte de rémunération causée :</Paragraphe>
<Liste type="puce">
<Item>
<Paragraphe>soit par la fermeture temporaire de tout ou partie de l'établissement,</Paragraphe>
</Item>
<Item>
<Paragraphe>soit par la réduction de l'horaire de travail en deçà de la durée légale de travail.</Paragraphe>
</Item>
</Liste>
<Paragraphe>En cas de réduction collective de l'horaire de travail, le placement en activité partielle peut être individuel ou concerner les salariés alternativement.</Paragraphe>

</SousChapitre>
</Chapitre>
<Chapitre>
<Titre>
<Paragraphe>Rémunération</Paragraphe>
</Titre><Paragraphe>Pendant les périodes non travaillées, le salarié perçoit une indemnité d'activité partielle, versée par l'employeur.</Paragraphe>
<Paragraphe>Le salarié dont la durée du travail est fixée par forfait en heures ou en jours sur l'année en bénéficie seulement en cas de fermeture totale de l'établissement ou d'une partie de l'établissement dont il relève.</Paragraphe>
<ANoter><Paragraphe>
<MiseEnEvidence>À noter : </MiseEnEvidence>les salariés en chômage partiel avant le 1er juillet 2013 bénéficient de <LienInterne LienPublication="F24640" type="Fiche Question-réponse" audience="Professionnels">règles d'indemnisation différentes</LienInterne>.</Paragraphe>
</ANoter>
<SousChapitre>
<Titre>
<Paragraphe>Montant</Paragraphe>
</Titre><Paragraphe>Le montant de l'indemnité d'activité partielle est fixé à <MiseEnEvidence>70 %</MiseEnEvidence> de la rémunération brute.</Paragraphe>
<Paragraphe>Lorsque le salarié suit une action de formation, le montant de l'indemnité est porté à <MiseEnEvidence>100 %</MiseEnEvidence> de la rémunération nette.</Paragraphe>
<Paragraphe>Pour les salariés en <LienInterne LienPublication="F22424" type="Fiche d'information" audience="Professionnels">contrat d'apprentissage ou de professionnalisation</LienInterne>, le montant ne peut pas être supérieur au montant de l'indemnité horaire due par l'employeur.</Paragraphe>

</SousChapitre>

1 个答案:

答案 0 :(得分:-1)

首先,您必须想出一种方法,可以从目录中读取xml文件。 (假设您不想硬编码2000文件路径;))

if (is_dir($dir)) {
if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
        echo "file Path : .".$dir."/".$file."<br />";
    }
    closedir($dh);
}

}

在while循环中,您可以读取xml文件并使用php Dom的xslt进行解析。 Btw为2000 xmls,这需要一些时间来完成执行,我想。 :)