所以我不确定是什么或如何真正描述我需要什么,但希望有人会理解。
总xml文件的单个元素如下所示:
for ( $counter = 1; $counter load($file_xml); //make sure path is correct $note = $objDOM->getElementsByTagName("Event"); // Loop through XML feed $i = 0; foreach( $note as $value ) { $event_id = $value->getAttribute('ID'); # venue id $VenueID = $value->getElementsByTagName("Venue"); $venue_id = $VenueID->item(0)->getAttribute("ID"); } }
arrgggg并没有真正复制他的代码。吉兹。
top是for循环的迭代。在foreach语句中我有insert语句;这是我试图插入图片网址的地方
<Event ID="IDIDIDIDID">
<EventName>EVENT NAME</EventName>
<Artist>
<ArtistName>ARTIST NAME</ArtistName>
</Artist>
<Venue ID="IDIDIDID">
<VenueName>VENUE NAME</VenueName>
<Image>
<Url>IMAGE_URL</Url>
<Width>205</Width>
<Height>115</Height>
</Image>
</Venue>
</Event>
除了图片网址之外,我能够获得我需要的其他图片形式。我试图将其作为一个数组分解并获得第一个值但是没有用。我在这里看了另一篇文章,并尝试使用preg_match但是没有用。有谁知道我怎么做:
获取单个“事件”行中的图像的URL?
这是我的开始:
$Image = $value->getElementsByTagName("Image");
$venue_img_2 = $Image->item(1)->nodeValue;
这将返回IMAGE_URL 205 115
注意:IMAGE_URL与205和115之间的“空格”似乎并不是“空间”
提前感谢。
答案 0 :(得分:1)
假设您的Event节点有一个父节点(即<Events><Event>...</Event><Event>...</Event></Events>
):
$xml = simplexml_load_file($file_xml);
foreach($xml->Event as $event) {
$idAttr = 'ID';
$event_id = (string) $event->attributes()->$idAttr;
$venue_id = (string) $event->Venue->attributes()->$idAttr;
$venue_img_2 = (string) $event->Venue->Image->Url;
}
答案 1 :(得分:0)
$xml = simplexml_load_file("books.xml")
or die("Error: Cannot create object");
foreach($xml->children() as $books){
foreach($books->children() as $book => $data){
echo $data->id;
echo $data->title;
echo $data->author;
echo "<br />";
}
}