Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环包含几个子项和子项的XML以在PHP中作为表输出 成功。 10562 约翰 H 雌鹿 42390 活跃的 12/24/2020 0600 纽约 美国 宾夕法尼亚 美国 42391 取消 01/02/2021 1800 宾夕法尼亚 美国 纽约 美国 42390 过路费 3 1. 42390 地址:英里 3.40 25 42391 过路费 18 1. 42391 地址:英里 3.40 29 10575 艾米丽 桑塔纳 64593 活跃的 12/27/2020 1700 纽约 美国 康涅狄格州 美国 64594 活跃的 01/04/2021 1200 康涅狄格州 美国 纽约 美国 64593 过路费 0 0 64593 地址:英里 3.40 10 64594 过路费 4 1. 64594 地址:英里 3.40 11_Php_Xml_Xpath_Foreach_Xmldom - Fatal编程技术网

循环包含几个子项和子项的XML以在PHP中作为表输出 成功。 10562 约翰 H 雌鹿 42390 活跃的 12/24/2020 0600 纽约 美国 宾夕法尼亚 美国 42391 取消 01/02/2021 1800 宾夕法尼亚 美国 纽约 美国 42390 过路费 3 1. 42390 地址:英里 3.40 25 42391 过路费 18 1. 42391 地址:英里 3.40 29 10575 艾米丽 桑塔纳 64593 活跃的 12/27/2020 1700 纽约 美国 康涅狄格州 美国 64594 活跃的 01/04/2021 1200 康涅狄格州 美国 纽约 美国 64593 过路费 0 0 64593 地址:英里 3.40 10 64594 过路费 4 1. 64594 地址:英里 3.40 11

循环包含几个子项和子项的XML以在PHP中作为表输出 成功。 10562 约翰 H 雌鹿 42390 活跃的 12/24/2020 0600 纽约 美国 宾夕法尼亚 美国 42391 取消 01/02/2021 1800 宾夕法尼亚 美国 纽约 美国 42390 过路费 3 1. 42390 地址:英里 3.40 25 42391 过路费 18 1. 42391 地址:英里 3.40 29 10575 艾米丽 桑塔纳 64593 活跃的 12/27/2020 1700 纽约 美国 康涅狄格州 美国 64594 活跃的 01/04/2021 1200 康涅狄格州 美国 纽约 美国 64593 过路费 0 0 64593 地址:英里 3.40 10 64594 过路费 4 1. 64594 地址:英里 3.40 11,php,xml,xpath,foreach,xmldom,Php,Xml,Xpath,Foreach,Xmldom,我很难通过foreach循环来输出这样的表 预订ID 地位 名称 日期 时间 PU位置 地点 过路费 阿德尔特。英里 10562-42390 活跃的 约翰·多伊 12/24/2020 0600 美国纽约 美国宾夕法尼亚州 3 25 10562-42391 取消 约翰·多伊 01/02/2021 1800 美国宾夕法尼亚州 美国纽约 18 29 10575-64593 活跃的 艾米莉·桑塔纳 12/27/2020 1700 美国纽约 美国康涅狄格州 0 10 10575-64594 活跃的 艾米莉

我很难通过foreach循环来输出这样的表

预订ID 地位 名称 日期 时间 PU位置 地点 过路费 阿德尔特。英里 10562-42390 活跃的 约翰·多伊 12/24/2020 0600 美国纽约 美国宾夕法尼亚州 3 25 10562-42391 取消 约翰·多伊 01/02/2021 1800 美国宾夕法尼亚州 美国纽约 18 29 10575-64593 活跃的 艾米莉·桑塔纳 12/27/2020 1700 美国纽约 美国康涅狄格州 0 10 10575-64594 活跃的 艾米莉·桑塔纳 01/04/2021 1200 美国康涅狄格州 美国纽约 4 11 考虑一下,设计用于转换XML文件的专用语言,例如处理所有值的串联和腿部ID的匹配。如果需要,XSLT甚至可以转换为HTML。PHP可以使用
DOMDocument
库运行XSLT1.0脚本及其类

XSLT(另存为.xsl文件,一个特殊的.xml文件)


PHP(使用
$new\u xml
满足最终使用需求)

//加载XML
$xml=新的DOMDocument('1.0','UTF-8');
$xml->load('/path/to/Input.xml');
//加载XSLT
$xsl=新的DOMDocument('1.0','UTF-8');
$xsl->load('/path/to/XSLT_Script.xsl');
//初始化变压器
$proc=新的XSLTProcessor;
$proc->importStyleSheet($xsl);
//转换原始文档
$new_xml=$proc->transformToDoc($xml);
//回音到屏幕
echo$new_xml->saveXML();
//保存到文件
文件内容('/path/to/Output.xml',$new\uxml);

你能展示进行匹配的代码吗?因为修复它可能比想出一个全新的解决方案更容易。你绝对是山羊是的!!最后,有人看到了XSLT的威力(在
XSLT
thread之外)!快乐编码!也许不仅仅是一个新年决议:认识XSLT的力量-因此新年快乐:+)@Parfait谢谢!你只是让别人看到了XSLT@T.M。是的,的确如此!!!祝大家新年快乐!!!
<?xml version="1.0" encoding="utf-8"?>
    <Agenda>
        <responseMessage>Success.</responseMessage>
        <jobs>
            <trip>
                <header>
                    <reservation_number>10562</reservation_number>
                    <recipient_first>John</recipient_first>
                    <recipient_middle>H</recipient_middle>
                    <recipient_last>Doe</recipient_last>
                </header>
                <legs>
                    <leg>
                        <trip_id>42390</trip_id>
                        <leg_status>Active</leg_status>
                        <pickup_date>12/24/2020</pickup_date>
                        <pickup_time>0600</pickup_time>
                        <pickup_state>New York</pickup_state>
                        <pickup_country>USA</pickup_country>
                        <dropoff_state>Pennsylvania</dropoff_state>
                        <dropoff_country>USA</dropoff_country>
                    </leg>
                    <leg>
                        <trip_id>42391</trip_id>
                        <leg_status>Canceled</leg_status>
                        <pickup_date>01/02/2021</pickup_date>
                        <pickup_time>1800</pickup_time>
                        <pickup_state>Pennsylvania</pickup_state>
                        <pickup_country>USA</pickup_country>
                        <dropoff_state>New York</dropoff_state>
                        <dropoff_country>USA</dropoff_country>
                    </leg>
                </legs>
                <secondary_services>
                    <service>
                        <service_leg_id>42390</service_leg_id>
                        <service_name>Tolls</service_name>
                        <service_rate>3.00</service_rate>
                        <service_quantity>1</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>42390</service_leg_id>
                        <service_name>addtl.miles</service_name>
                        <service_rate>3.40</service_rate>
                        <service_quantity>25</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>42391</service_leg_id>
                        <service_name>Tolls</service_name>
                        <service_rate>18.00</service_rate>
                        <service_quantity>1</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>42391</service_leg_id>
                        <service_name>addtl.miles</service_name>
                        <service_rate>3.40</service_rate>
                        <service_quantity>29</service_quantity>
                    </service>
                </secondary_services>
            </trip>
            <trip>
                <header>
                    <reservation_number>10575</reservation_number>
                    <recipient_first>Emily</recipient_first>
                    <recipient_middle></recipient_middle>
                    <recipient_last>Santana</recipient_last>
                </header>
                <legs>
                    <leg>
                        <trip_id>64593</trip_id>
                        <leg_status>Active</leg_status>
                        <pickup_date>12/27/2020</pickup_date>
                        <pickup_time>1700</pickup_time>
                        <pickup_state>New York</pickup_state>
                        <pickup_country>USA</pickup_country>
                        <dropoff_state>Connecticut</dropoff_state>
                        <dropoff_country>USA</dropoff_country>
                    </leg>
                    <leg>
                        <trip_id>64594</trip_id>
                        <leg_status>Active</leg_status>
                        <pickup_date>01/04/2021</pickup_date>
                        <pickup_time>1200</pickup_time>
                        <pickup_state>Connecticut</pickup_state>
                        <pickup_country>USA</pickup_country>
                        <dropoff_state>New York</dropoff_state>
                        <dropoff_country>USA</dropoff_country>
                    </leg>
                </legs>
                <secondary_services>
                    <service>
                        <service_leg_id>64593</service_leg_id>
                        <service_name>Tolls</service_name>
                        <service_rate>0.00</service_rate>
                        <service_quantity>0</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>64593</service_leg_id>
                        <service_name>addtl.miles</service_name>
                        <service_rate>3.40</service_rate>
                        <service_quantity>10</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>64594</service_leg_id>
                        <service_name>Tolls</service_name>
                        <service_rate>04.00</service_rate>
                        <service_quantity>1</service_quantity>
                    </service>
                    <service>
                        <service_leg_id>64594</service_leg_id>
                        <service_name>addtl.miles</service_name>
                        <service_rate>3.40</service_rate>
                        <service_quantity>11</service_quantity>
                    </service>
                </secondary_services>
            </trip>
        </jobs>
    </Agenda>