[vbox-dev] [External] : Re: VB xml format
Klaus Espenlaub
klaus.espenlaub at oracle.com
Thu Nov 4 21:09:54 GMT 2021
Hello Stéphane,
On 2021-11-04 19:35, Stéphane Charette wrote:
>
> [...] First get the list of VM UUIDs with "VBoxManage list vms",
> and then get the detail information you need with "VBoxManage
> showvminfo uuid --machinereadable". The output of the latter
> should be a lot easier to process.
>
>
> The irony here (to me anyway) is that the XML file should be very easy
> to read and parse by machine. Other than having a database, file
> formats like XML and JSON are meant to be used that way.
Yes, XML is machine parseable.
However, the XML files containing the VirtualBox VM registry and the VM
configuration have by now evolved for about 17 years. Showing all kinds
of human imperfection, i.e. various forms of misdesign which survived
more or less long. The current XML parser code used in VirtualBox is
supposed to understand config files back to VirtualBox 2.0 (covering 13
years).
If one wants to extract only very specific information (more or less
just VM names and groups) then it is probably little effort, but a
complete parser is much work (and due to our policy of upgrading the XML
representation to a newer version only if a new feature is actually used
one simply can't ignore the past).
VM groups were introduced with VirtualBox 4.2, and if one didn't
actively use them then the attribute may not be there.
If Bernard decides to go for XML parsing it could be actually much less
effort than picking the few needed bits of information from the output
of VBoxManage. At the same time efficient and a good chance to be future
proof since the attributes needed are in very stable areas of the XML.
Of course there are details to take care of (like finding VirtualBox.xml
for VirtualBox installs which existed for a long time, before it moved
to the .config/VirtualBox directory and how to interpret relative paths
for machine config files (relevant if someone kept his VM organization
from the old days when we didn't have per-VM subdirectories).
Klaus
> Stéphane
>
> --
> <https://urldefense.com/v3/__https://about.me/stephane.charette?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb__;!!ACWV5N9M2RV99hQ!cYeC1vEy0fSyFXVLMHZJc4T_R-y1OeEwmzeM_D8ZcCeuguT8YtgcxYDaMERoJlQb_hNn$>
>
> Stéphane Charette
> about.me/stephane.charette
> <https://urldefense.com/v3/__https://about.me/stephane.charette?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=edit_panel&utm_content=thumb__;!!ACWV5N9M2RV99hQ!cYeC1vEy0fSyFXVLMHZJc4T_R-y1OeEwmzeM_D8ZcCeuguT8YtgcxYDaMERoJlQb_hNn$>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20211104/d985a502/attachment.html>
More information about the vbox-dev
mailing list