Code Snippets: Преобразование XML в JSON на ISBL

13 3

Очень короткий пост об очень специфичной задаче.
А именно: "Как преобразовать имеющийся кусок данных из XML в JSON на ISBL?".

Ответ прост: XSL-преобразование:


  SourceFile = CreateObject('Msxml2.DOMDocument.6.0')
  SourceFile.async=false
  SourceFile.load("C:\MyXmlDataFile.xml")

  XSLTFile = CreateObject('Msxml2.DOMDocument.6.0')
  XSLTFile.async=false
  XSLTFile.load("C:\xml2json.xslt") 
  JSONDataFile = SourceFile.transformNode(XSLTFile)

Собственно сам XSL-файл: xml2json.xslt (7,67 Кб)
Оригинал расположен https://code.google.com/p/xml2json-xslt/, но имеет проблему преобразования массивов.
Также оба варианта не обрабатывают XML-атрибуты (только теги), варианты решений можно найти в обсуждениях.

Пример работы:
Только картинка, только хардкор

13
Авторизуйтесь, чтобы оценить материал.
1
Дмитрий Тарасов

Картинка зачОтная!!! yeslaugh

Алексей Якимов

Спасибо, пригодилось :)

Mikhail Kislitsyn

На всякий случай добавлю пример как можно работать с JSON в ISBL:

  scriptControl = CreateObject("ScriptControl")
  scriptControl.Language = "JScript"  
  str = scriptControl.Eval('(
    {
      "self":"http://sd-jira:8080/rest/api/latest/component/10908",
      "id":10908,
      "name":"WMS Оптимизация гравитации",
      "description":"Блок задач по оптимизации сборки на гравитации ",
      "assigneeType":"PROJECT_DEFAULT",
      "assignee":{
        "self":"http://sd-jira:8080/rest/api/latest/user?username=Ivan",
         "name":"Ivan",
         "displayName":"Иванов Иван Иванович",
         "active":true
      } 
    } 
  ).self')

  ShowMessage(str)  

Скопировано с ветки форума

Авторизуйтесь, чтобы написать комментарий