gpt4 book ai didi

php - 使用 XPath 从 XML 文档中提取特定于标签的数据

转载 作者:行者123 更新时间:2023-12-03 17:22:30 25 4
gpt4 key购买 nike

我正在尝试提取 <description>使用 DOMDocument 和 XPath、domXpath 标记来自 XML 文档的数据。我只想要<description>以标签 <header id="1236">MECHANICAL</header> 开头的数据.到目前为止,我已将其创建为我的 xPath 流程;但是调用数据一直不成功:

($xpath->query('//VehicleDescription/standard[header="MECHANICAL"]/description')

我相信问题在于 VehicleDescription .有想法该怎么解决这个吗?请记住,这是一个肥皂结果,所以 VehicleDescription并且该事项的所有其他数据将随着每个请求而改变。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<VehicleDescription country="US" language="en" modelYear="2015" bestMakeName="Audi" bestModelName="A4" bestStyleName="4dr Sdn Auto quattro 2.0T Premium" bestTrimName="Premium" xmlns="urn:description7b.services.chrome.com">

<standard>
<header id="1236">MECHANICAL</header>
<description>Engine: 2.0L DOHC 4-Cylinder TFSI -inc: Audi valvelift system</description>
<category id="1048"/>
<category id="1054"/>
<category id="1213"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Transmission: 8-Speed Automatic w/Tiptronic -inc: sport program and manual shift mode</description>
<category id="1130"/>
<category id="1195"/>
<category id="1220"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Full-Time All-Wheel Drive</description>
<category id="1041"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Engine Oil Cooler</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>80-Amp/Hr Maintenance-Free Battery w/Run Down Protection</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>150 Amp Alternator</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Gas-Pressurized Shock Absorbers</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Front And Rear Anti-Roll Bars</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Electric Power-Assist Speed-Sensing Steering</description>
<category id="1084"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>16.1 Gal. Fuel Tank</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Single Stainless Steel Exhaust</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Multi-Link Front Suspension w/Coil Springs</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>Multi-Link Rear Suspension w/Coil Springs</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1236">MECHANICAL</header>
<description>4-Wheel Disc Brakes w/4-Wheel ABS, Front Vented Discs, Brake Assist, Hill Hold Control and Electric Parking Brake</description>
<category id="1018"/>
<category id="1020"/>
<category id="1228"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Wheels: 8.0J x 17" 10-Spoke-Star-Design</description>
<category id="1123"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Tires: P245/45R17 AS</description>
<category id="1092"/>
<category id="1097"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Wheels w/Silver Accents</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Steel Spare Wheel</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Compact Spare Tire Mounted Inside Under Cargo</description>
<category id="1098"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Clearcoat Paint</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Express Open/Close Sliding And Tilting Glass 1st Row Sunroof w/Sunshade</description>
<category id="1069"/>
<category id="1132"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Body-Colored Front Bumper</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Body-Colored Rear Bumper</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Rocker Panel Extensions</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Aluminum Side Windows Trim and Black Front Windshield Trim</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Body-Colored Door Handles</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Body-Colored Power Heated Side Mirrors w/Manual Folding and Turn Signal Indicator</description>
<category id="1064"/>
<category id="1065"/>
<category id="1174"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Fixed Rear Window w/Defroster</description>
<category id="1034"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Light Tinted Glass</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Speed Sensitive Rain Detecting Variable Intermittent Wipers w/Heated Jets</description>
<category id="1127"/>
<category id="1159"/>
<category id="1160"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Galvanized Steel/Aluminum Panels</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Black Grille w/Chrome Surround</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Trunk Rear Cargo Access</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Programmable Projector Beam High Intensity Low/High Beam Daytime Running Auto-Leveling Headlamps w/Washer and Delay-Off</description>
<category id="1061"/>
<category id="1168"/>
<category id="1169"/>
<category id="1313"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Front And Rear Fog Lamps</description>
<category id="1151"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Cornering Lights</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>Perimeter/Approach Lights</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1176">EXTERIOR</header>
<description>LED Brakelights</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="10689">ENTERTAINMENT</header>
<description>Radio: Audi Concert System w/1CD Player -inc: MP3 capable, AM/FM radio, auxiliary input jack, SD card slots w/32GB capacity for MP3 files, speed-dependent volume control, Audi MMI radio plus system for controlling infotainment/climate/car setup w/6.5" color screen, Audi music interface w/iPod integration w/1 cable for iPod connection, Audi 6-channel DSP extended 180 watt sound system w/10 speakers including subwoofer and SiriusXM satellite radio w/90-day trial subscription</description>
<category id="1014"/>
<category id="1017"/>
<category id="1149"/>
<category id="1150"/>
<category id="1230"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="10689">ENTERTAINMENT</header>
<description>Radio w/Clock and Steering Wheel Controls</description>
<category id="1161"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="10689">ENTERTAINMENT</header>
<description>Audio Theft Deterrent</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="10689">ENTERTAINMENT</header>
<description>Window Grid Diversity Antenna</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="10689">ENTERTAINMENT</header>
<description>Bluetooth Wireless Phone Connectivity</description>
<category id="1211"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Power Front Seats -inc: 8-way power front seats and 4-way power lumbar adjustment for driver</description>
<category id="1074"/>
<category id="1075"/>
<category id="1082"/>
<category id="1189"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Driver Seat</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Passenger Seat</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>60-40 Folding Bench Front Facing Fold Forward Seatback Rear Seat</description>
<category id="1076"/>
<category id="1304"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Manual Tilt/Telescoping Steering Column</description>
<category id="1087"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Gauges -inc: Speedometer, Odometer, Engine Coolant Temp, Tachometer, Oil Level, Trip Odometer and Trip Computer</description>
<category id="1203"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Power Rear Windows</description>
<category id="1126"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Leather Steering Wheel</description>
<category id="1192"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Front Cupholder</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Rear Cupholder</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Front Cigar Lighter(s)</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Ashtray</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Valet Function</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Power Fuel Flap Locking Type</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Remote Keyless Entry w/Integrated Key Transmitter, 4 Door Curb/Courtesy, Illuminated Entry and Panic Button</description>
<category id="1062"/>
<category id="1063"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Remote Releases -Inc: Power Cargo Access</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>HomeLink Garage Door Transmitter</description>
<category id="1204"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Cruise Control</description>
<category id="1033"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Dual Zone Front Automatic Air Conditioning</description>
<category id="1009"/>
<category id="1010"/>
<category id="1011"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Rear HVAC w/Separate Controls</description>
<category id="1011"/>
<category id="1012"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>HVAC -inc: Underseat Ducts and Console Ducts</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Illuminated Locking Glove Box</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Driver Foot Rest</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Interior Trim -inc: Aluminum Instrument Panel Insert, Aluminum Door Panel Insert, Aluminum Console Insert and Aluminum/Metal-Look Interior Accents</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Full Cloth Headliner</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Leatherette Door Trim Insert</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Leather Gear Shift Knob</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Leather Seating Surfaces</description>
<category id="1078"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Day-Night Rearview Mirror</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Driver And Passenger Visor Vanity Mirrors w/Driver And Passenger Illumination</description>
<category id="1175"/>
<category id="1176"/>
<category id="1177"/>
<category id="1178"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Full Floor Console w/Storage, Mini Overhead Console w/Storage and 3 12V DC Power Outlets</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Front And Rear Map Lights</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Fade-To-Off Interior Lighting</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Full Carpet Floor Covering -inc: Carpet Front And Rear Floor Mats</description>
<category id="1055"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Carpet Floor Trim and Carpet Trunk Lid/Rear Cargo Door Trim</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Cargo Space Lights</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>FOB Controls -inc: Trunk/Hatch/Tailgate, Windows and Sunroof/Convertible Roof</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Driver / Passenger And Rear Door Bins</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Power 1st Row Windows w/Front And Rear 1-Touch Up/Down</description>
<category id="1126"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Delayed Accessory Power</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Power Door Locks w/Autolock Feature</description>
<category id="1063"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Systems Monitor</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Redundant Digital Speedometer</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Trip Computer</description>
<category id="1203"/>
<styleId>369101</styleId>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Outside Temp Gauge</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Analog Display</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Manual Anti-Whiplash Adjustable Front Head Restraints and Manual Adjustable Rear Head Restraints</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Front Center Armrest and Rear Center Armrest w/Storage</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>2 Seatback Storage Pockets</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Perimeter Alarm</description>
<category id="1013"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Immobilizer III Engine Immobilizer</description>
<category id="1166"/>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>3 12V DC Power Outlets</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>
<standard>
<header id="1220">INTERIOR</header>
<description>Air Filtration</description>
<styleId>369101</styleId>
<installed cause="BaseEquipment"/>
</standard>

</VehicleDescription>

这是我的php:
<!DOCTYPE html>
<html lang="en">

<head>
<title>Dynamically Generate Select Dropdowns 2</title>
<style type="text/css">
select {display: block;margin-left: auto;margin-right: auto;}
</style>
</head>

<body>

<?php

$xml = file_get_contents('note.xml');
$dom = new DOMDocument();
$dom->loadXML($xml);
$xpath = new domXpath($dom);

foreach ($xpath->query('//VehicleDescription/standard[header="MECHANICAL"]/description') as $mechdescription) {
$mecharray[] = $mechdescription->nodeValue ;
}

foreach ($mecharray as $mechanicaldescription){
echo $mechanicaldescription ."\n\n";
}
?>

</body>
</html>

非常感谢你的帮助!

最佳答案

作为 <VehicleDescription> node 定义了它自己的默认命名空间(在 xmlns="urn:description7b.services.chrome.com" 中),您需要注册此命名空间并将其用作 XPath 表达式的一部分...

$xpath = new DOMXPath($dom);
$xpath->registerNamespace("def", "urn:description7b.services.chrome.com");
$mecharray = [];
foreach ($xpath->query('//def:VehicleDescription/def:standard[def:header="MECHANICAL"]/def:description') as $mechdescription) {
$mecharray[] = $mechdescription->nodeValue ;
}

我用 def作为命名空间前缀,但你可以使用任何你想要的,只要它在 XPath 表达式中是相同的。

关于php - 使用 XPath 从 XML 文档中提取特定于标签的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com