循环包含几个子项和子项的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
我很难通过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可以使用循环包含几个子项和子项的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 活跃的 艾米莉
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>