Загрузка свойств данных XML jqGrid - PullRequest
0 голосов
/ 05 октября 2011

У меня есть удаленный генератор данных XML, который генерирует что-то вроде этого:

<list>
  <hu.qualitis.opencms.utils.db.DBFile>
    <id>8dc66bf4-c39f-44c5-879d-1f3b16dc29be</id>
    <name>testfile.txt</name>
    ...
    <metadata>
      <property name="lines" value="5"/>
    </metadata>
  </hu.qualitis.opencms.utils.db.DBFile>
</list>

Мое определение xmlReader следующее:

xmlReader: { 
  root: "list",
  row: "hu\\.qualitis\\.opencms\\.utils\\.db\\.DBFile",
  repeatitems: false,
  id: "id"
},

Это работает нормально.Моя проблема связана с частью метаданные , к которой я не могу получить доступ.Я пробовал что-то вроде:

colModel :[ 
  {name:'name', index:'name', width:60},
  ...
  {name:'metadata>property>lines', index:'name', width:10}
],

, но безрезультатно.

Можно ли вообще настроить jqGrid XMLReader для чтения этого значения или я вынужден изменить генератор?

Обновление

Подводя итог, я не могу реализовать мою первоначальную идею.
Лучшим решением будет использование JSON.Это также будет быстрее.
Альтернативное решение - изменить код, который генерирует XML.Я пойду с этим, поскольку все мои сообщения основаны на XML.
И еще одно решение - изменить XML с помощью XSLT.

1 Ответ

0 голосов
/ 07 марта 2013

Вы обращаетесь к атрибутам узлов, вам необходимо указать имя атрибута в квадратных скобках [name] в xml-карте colModel, например: -

для узла

атрибут имени свойства узлапотребовалось бы xmlmap: "metadata> property> [name]"

для значения атрибута свойства узла потребуется xmlmap: "metadata> property> [value]"

...