XML PHP open en sluit tag voor groep elements
Ik ben bezig met een XML export vanuit WordPress.
Ik wil graag een aantal elements in één groep plaatsen. Nu heb ik een code die prima werkt wanneer het eerste en laatste element die ik in de groep wil plaatsen een andere naam hebben, maar logischerwijs zodra er meerdere elements met dezelfde naam in één groep moeten worden geplaatst, vormt deze code een groep rond elk element met die naam. Het aantal elements dat in een groep wordt geladen kan variëren van 1 tot 9, maar is geen vast aantal.
Dit is wat ik krijg:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<group>
<name1></name1>
<name2></name2>
</group>
<group>
<name1></name1>
<name2></name2>
</group>
<group>
<name1></name1>
<name2></name2>
</group>
<group>
<name1></name1>
<name2></name2>
</group>
En dit is wat ik nodig heb:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<group>
<name1></name1>
<name2></name2>
<name1></name1>
<name2></name2>
</group>
<group>
<name1></name1>
<name2></name2>
<name1></name1>
<name2></name2>
</group>
De code die ik gebruik is de volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
add_filter('wp_all_export_add_before_element', 'wpae_wp_all_export_add_before_element', 10, 4);
function wpae_wp_all_export_add_before_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
if ( $element_name_in_file == 'name1' ) {
$xmlWriter->beginElement('', 'group', null);
}
return $xmlWriter;
}
add_filter('wp_all_export_add_after_element', 'wpae_wp_all_export_add_after_element', 10, 4);
function wpae_wp_all_export_add_after_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
if ( $element_name_in_file == 'name2' ) {
$xmlWriter->endElement();
}
return $xmlWriter;
}
?>
add_filter('wp_all_export_add_before_element', 'wpae_wp_all_export_add_before_element', 10, 4);
function wpae_wp_all_export_add_before_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
if ( $element_name_in_file == 'name1' ) {
$xmlWriter->beginElement('', 'group', null);
}
return $xmlWriter;
}
add_filter('wp_all_export_add_after_element', 'wpae_wp_all_export_add_after_element', 10, 4);
function wpae_wp_all_export_add_after_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
if ( $element_name_in_file == 'name2' ) {
$xmlWriter->endElement();
}
return $xmlWriter;
}
?>
Heeft iemand een creatief idee om ook elements met dezelfde naam in één groep te krijgen?
Groet,
Bart
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Toevoeging op 17/05/2016 23:35:56:
Excuus.
Gewijzigd op 17/05/2016 23:35:02 door - Ariën -
Er zijn nog geen reacties op dit bericht.