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>

Кто-нибудь знает, как это возможно без ручной вставки тегов в текст (у меня много сотен строк)?

1 ответ1

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> │ ┴───────────────────────────────────────────────────┴

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .