Оберніть абзаци в теги абзаців у Microsoft Excel


2

Я використовую функцію експорту як XML у Microsoft Excel, у мене є визначення XML-схеми на зразок:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="timeline">
      <xs:complexType>
         <xs:sequence>
             <xs:element name="event" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                   <xs:all>
                      <xs:element name="date" type="xs:string" minOccurs="1" />
                      <xs:element name="title" type="xs:string" minOccurs="1" />
                      <xs:element name="caption" type="xs:string" minOccurs="0" />
                      <xs:element name="image" type="xs:anyURI" minOccurs="0" />
                   </xs:all>
                </xs:complexType>
             </xs:element>
         </xs:sequence>
         <xs:attribute name="title" type="xs:string" use="required" />
         <xs:attribute name="id" type="xs:string" use="required" />
         <xs:attribute name="order" type="xs:int" />
         <xs:attribute name="color" type="xs:hexBinary" />
      </xs:complexType>
   </xs:element>
</xs:schema>

Мій стіл виглядає так:


╔══════╦════════════════════╦════════════════════════╦═══════════╦════════════════╗datetitlecaptionreferenceimage
╚══════╩════════════════════╩════════════════════════╩═══════════╩════════════════╝
│ 1915 │ Alex's Birthday    │ We ate cake.           │ rcn_02    │ rcn/rcn_02.png │
│      │                    │                        │           │                │
│      │                    │ He didn't like cake.   │           │                │
├──────┼────────────────────┼────────────────────────┼───────────┼────────────────┤
│ 1920 │ Alex starts school │ He didn't like school. │ rcn_03    │ rcn/rcn_03.png │
└──────┴────────────────────┴────────────────────────┴───────────┴────────────────┘
Що я хочу зробити, це перетворити клітини муліліну і обернути кожен розділ <p>елементом. Тож замість поточного виходу, який є:

<event>
   <date>1915</date>
   <title>Alex's Birthday</title>
   <caption>We ate cake.

He didn't like cake.</caption>
   <image>rcn/rcn_02.png</image>
</event>

Я хочу отримати:

<event>
   <date>1915</date>
   <title>Alex's Birthday</title>
   <caption>
      <p>We ate cake.</p>
      <p>He didn't like cake.</p>
   </caption>
   <image>rcn/rcn_02.png</image>
</event>

Хтось знає, як це можливо, не вставляючи теги в текст вручну (у мене багато сотень рядків)?


Чи виникає проблема із захопленням каналу рядків та їх розбором <p> </p>? Чи будь-яка допомога
Райстафаріан

@Raystafarian Я міг би це зробити за допомогою JavaScript, це просто марно витрачається на оброблювальну потужність (і повільно) це робити під час виконання і менш обтічний процес, ніж я хотів би додати ще один етап у процесі збирання для завантаження. В ідеалі я хотів би зробити це на тому ж етапі, коли я конвертую електронну таблицю в XML. Я, звичайно, додав би визначення елемента елемента до мого XSD
Джордж Рейт

Так, я ніколи не використовував подібну карту XML, я вважав, що, можливо, структура тегів буде схожа на те, що ви могли б зробити в excel.
Райстафаріан

Чи можливо отримати приклад посилання для завантаження?
SgtOJ

Відповіді:


0

На жаль, не здається, що можна проаналізувати та вставити теги за допомогою експортера XML. Додавати теги абзацу навколо кожної клітини заголовка було б простим завданням, але власне вставлення тегів абзацу посередині вмісту комірки не схоже на те, що функція експорту XML може зробити самостійно. Однак для вашого набору даних є й інші обхідні шляхи, припускаючи, що для тегів абзацу потрібен лише стовпець "підпис".

Використовуючи текстовий редактор, здатний виконувати пошук та заміну операцій із поверненнями перевезень та відступів вкладок (Notepad ++, TextWrangler, BBEdit, Microsoft Word), ви скопіювали весь стовпець у новий порожній документ. Помістіть порожнє повернення каретки на початку та в кінці вашого набору даних. Скориставшись наступними критеріями пошуку та заміни, я зміг змінити ваш зразок тексту, щоб він відповідав:

Знайти: \n\nЗамінити: </p><p>
Знайти: \n Замінити:</p>\n<p>

Потім ви візьмете нещодавно відформатований текст і вставте його назад у свою електронну таблицю. Потім стовпець повинен трансформуватися з вигляду так: ╦════════════════════════╦ ║ caption ║ ╩════════════════════════╩ │ We ate cake. │ │ │ │ He didn't like cake. │ ┼────────────────────────┼ │ He didn't like school. │ ┴────────────────────────┴


Щоб виглядати так: ╦═══════════════════════════════════════════════════╦ ║ caption ║ ╩═══════════════════════════════════════════════════╩ │ <p>"We ate cake.</p><p>He didn't like cake."</p> │ ┼───────────────────────────────────────────────────┼ │ <p>He didn't like school.</p> │ ┴───────────────────────────────────────────────────┴

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.