ImportPagesXml by justb3a

This ProcessWire module allows you to import and parse XML files (using xpath) to create or update pages.

WARNING: This repository is no longer maintained

This repository will not be updated. The repository will be kept available in read-only mode.

Import Pages From XML

This ProcessWire module allows you to import and parse XML files (using xpath) to create or update pages.

Screencast

Settings


After successfull installation go to Setup > Import Pages From XML to start using the XML Importer.

This module does not support all available field types. Nevertheless, I've refrained from restricting the supported field types because many of them should work by default.

Tested and working:

  • image including tag and description support
  • select
  • text
  • textarea
  • integer

The following field types will be ignored:

  • FieldsetTabOpen
  • FieldsetOpen
  • FieldsetClose

Not working:

  • file
  • repeater

Xpath Mappings


If you want to take advantage of references between fields in your xpath mapping then make sure the fields you're relating to are placed before the ones which need the relations. You can access and use any values/fields that you placed earlier in your file. Use $field_<fieldname> to match the desired value.

Example

<?xml version="1.0" encoding="UTF-8"?>

<songs>
    <song track="2">
        <title contact_id="1">Some song title</title>
    </song>
    <song track="7">
        <title contact_id="2">Just another song title</title>
    </song>
    <contact id="1" name="Sesmallbos" mail="info@test.org"/>
    <contact id="2" name="Sebigbos" mail="info@exam.ple"/>
</songs>
  • context: //song
  • field order: title, track, contact_id, contact_name, contact_mail
  • contact_id must be placed before contact_name and contact_mail
  • first get contact_id : title/@contact_id
  • then use that value as relation : //contact[@id="$field_artist_id"]/@name as well as //contact[@id="$field_artist_id"]/@mail

Further readings


Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • ProcessWire 3.0.180 core updates– More
    18 June 2021
  • Today a new version of FormBuilder has been released in the FormBuilder support board (our 50th version) and it has a lot of interesting new features, which we’ll take a closer look at in this post— More
    11 June 2021
  • ProcessWire 3.0.179 adds great new admin theme customization tools that put you in full control over the Uikit admin styles— More
    28 May 2021

Latest news

  • ProcessWire Weekly #371
    In the 371st issue of ProcessWire Weekly we'll check out ProcessWire 3.0.180, introduce a new module called Flowti Page Serializer, highlight some recent forum posts and tutorials, and more. Read on!
    Weekly.pw / 19 June 2021
  • ProcessWire FormBuilder v50 updates
    Today a new version of FormBuilder has been released in the FormBuilder support board (our 50th version) and it has a lot of interesting new features, which we'll take a closer look at in this post.
    Blog / 11 June 2021
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH