Удаление HTML-тегов из CDATA в XML-файле TestLink

Я извлек файл XML (используя функцию Export Test Suite) в TestLink. Проблема, с которой я столкнулся, заключается в том, что большинство тегов сводки и шагов были представлены в виде HTML-кода, встроенного в CDATA.

Таким образом, это не проблема, но мне нужно преобразовать этот файл в лист EXCEL для импорта в диспетчер тестов Visual Studio. Когда я пытаюсь преобразовать его, он не приходит должным образом, а также данные все еще содержат те HTML-теги, которые его окружают, что затрудняет чтение.

Мой вопрос: есть ли простой способ удалить эти теги CDATA и HTML из файла XML? Я попытался преобразовать его в каноническую форму, но это удаляет только строку CDATA, а не фактические теги HTML из файлов. Таким образом, мне сложнее экспортировать их в EXCEL.

ПРИМЕР ВВОДА:

                <expectedresults><![CDATA[
                    1. <span style="font-size: 10pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;"><font face="Arial">Sample Text Which I want to Keep</font></span>
                    2. Sample Text Which I want to Keep
                    3. <font face="Arial"><span style="font-size: 10pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;">Sample Text Which I want to Keep</span>
                    4. <span style="font-size: 10pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;">Sample Text Which I want to Keep</span>
                    ]]>
                </expectedresults>

ВЫВОД ОБРАЗЦА:

                <expectedresults>
                    1. Sample Text Which I want to Keep
                    2. Sample Text Which I want to Keep
                    3. Sample Text Which I want to Keep
                    4. Sample Text Which I want to Keep
                </expectedresults>

person gagneet    schedule 03.02.2011    source источник
comment
Ваш вопрос очень общий и не отвечает в его нынешнем виде. Вам нужно опубликовать уменьшенный пример входных данных и то, что вы хотите увидеть на выходе.   -  person Jim Garrison    schedule 04.02.2011
comment
Добавлен образец ввода и вывода. Сообщите, если потребуется дополнительная информация об этом.   -  person gagneet    schedule 04.02.2011


Ответы (3)


Предполагая, что формат точно такой, как вы упомянули. Возможно, вы могли бы написать макрос для создания другого Excel, используя текущий со всеми HTML-тегами в нем.

Я думаю, что может быть многоэтапный процесс для извлечения того, что вам нужно.

  1. Удалите все конечные теги для - и так как это сделает окончание всех строк чистым.
  2. Найдите последнее вхождение «>» в ​​каждой строке. См. справку здесь http://www.mrexcel.com/archive/General/30895.html
  3. Используйте функцию RIGHT для извлечения данных.

ХТН.

person Ruchi    schedule 04.02.2011

  1. После экспорта файла TestLink тестовых примеров XML импортируйте его в Excel.
  2. Запустите этот макрос в Excel, чтобы удалить теги HTML и другие нежелательные теги.
    Sub REMOVE_HTML()
    '
    ' REMOVE_HTML Macro
    ' Author: Hashan Randev Fernando
    ' Keyboard Shortcut: Ctrl+m
    '
        Cells.Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Paste
        Range("A1").Select
        Cells.Replace What:="<*>", Replacement:=" ", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        Cells.Replace What:="&gt;", Replacement:=">", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Cells.Replace What:="&lt;", Replacement:="<", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Cells.Replace What:="&quot;", Replacement:="'", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Cells.Replace What:="&nbsp;", Replacement:="  ", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Cells.Replace What:="&amp;", Replacement:="&", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    End Sub
person Hashan    schedule 19.04.2012

Поздний ответ: попробуйте программное обеспечение Altova для преобразования содержимого XML. Вам особенно нужен модуль MapForce. Доступна 30-дневная пробная версия.

person Oscar    schedule 29.06.2011