Преобразование общего XML в CSV (с использованием XSLT) - PullRequest
0 голосов
/ 04 февраля 2019

Мне нужно конвертировать XML в CSV с помощью XSLT;Я не знаю, какие теги внутри XML, а также он содержит дубликаты тегов.пример xml:

<?xml version="1.0" encoding="utf-8"?>
<AP     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
 xmlns:pd="http://www.ascentn.com/bpm/XMLSchema">
  <processFields>
    <smsText />
    <PID>810C005056A14F7F119914B53474BB65</PID>
    <ComplexProximity>
      <lasttNameTxt>!!!!!!!</lasttNameTxt>
    </ComplexProximity>
  </processFields>

  <formFields>
    <txtTz>777</txtTz>
    <SubFormProximity1_SubForm>

      <SubFormProximity1>
        <SaleryAvg>10000</SaleryAvg>
      </SubFormProximity1>

      <SubFormProximity1>
        <SaleryAvg>0</SaleryAvg>
      </SubFormProximity1>

      <SubFormProximity1>
        <SaleryAvg>777</SaleryAvg>
        <SubFormIncomeSources_SubForm>
          <SubFormIncomeSources>
            <ddl_Sfs_fWorkStatus>aa</ddl_Sfs_fWorkStatus>
          </SubFormIncomeSources>

          <SubFormIncomeSources>
            <ddl_Sfs_fWorkStatus>bb</ddl_Sfs_fWorkStatus>
          </SubFormIncomeSources>
        </SubFormIncomeSources_SubForm>
      </SubFormProximity1>
    </SubFormProximity1_SubForm>
  </formFields>
</AP>

этот xml преобразуется в:

    smsText,PID,lasttNameTxt,txtTz,SaleryAvg,ddl_Sfs_fWorkStatus
     ,810C005056A14F7F119914B53474BB65,!!!!!!!,777,10000
     ,810C005056A14F7F119914B53474BB65,!!!!!!!,777,0
     ,810C005056A14F7F119914B53474BB65,!!!!!!!,777,77,aa
     ,810C005056A14F7F119914B53474BB65,!!!!!!!,777,77,bb

Есть ли способ сделать это с помощью xslt?(обратите внимание, что он должен быть общим без записи тегов name жестко запрограммированными)

Мне нужно экспортировать xml в excel (csv), поэтому он выглядит как опция экспорта в Excel.имя столбца - это теги name - только теги, которые не содержат дочерние элементы.строки происходят из значений тегов, если есть дубликаты тегов и различных значений, необходимо дублировать строки с различными значениями.если внутренний тег (без дочерних элементов) пуст - ячейка тоже будет пустой

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...