XML-сериализаторы Python - PullRequest
       12

XML-сериализаторы Python

0 голосов
/ 01 октября 2009

Некоторые могут порекомендовать XML-сериализатор, ориентированный на элемент или атрибут и не использующий пары ключ-значение.

Например, GAE db.model имеет функцию to_xml (), но записывает так:

  <property name="firstname" type="string">John</property>
  <property name="lastname" type="string">Doe</property>
  <property name="city" type="string">Dallas</property>
  <property name="dateTimeCreated" type="gd:when">2009-09-30 19:45:45.975270</property>

Из того, что я помню, их намного сложнее отобразить в инструментах XSLT, чем простые элементы / атрибуты, подобные этому:

желаемый выход

   <firstname>John</firstname>
   <lastname>Doe</lastname>
   <city>Dallas</city>
   <dateTimeCreated type="gd:when">2009-09-30 19:45:45.975270</dateTimeCreated>

Я только что попробовал библиотеку GNOSIS, и моя первая попытка сработала, но я также создал пары имя-значение примерно так:

  <attr name="__coredata__" type="dict" id="4760164835402068688" >
    <entry>
      <key type="string">firstname</key>
      <val type="string">John</val>
    </entry>
    <entry>
      <key type="string">lastname</key>
      <val type="string">Doe</val>
    </entry> 
    etc... 

Спасибо

Нил Уолтерс

1 Ответ

2 голосов
/ 01 октября 2009

pyxslt.serialize выглядит ближе всего к вашим спецификациям, но не на 100% карте (например, она не записывает тип - просто превращает все в строки). Тем не менее может быть хорошей основой для настройки (например, путем копирования / вставки / редактирования, если он не предлагает все возможности, необходимые для более чистой настройки).

...