2011-02-03 88 views
0

我在TestLink中提取了一個XML文件(使用導出測試套件功能)。我面臨的問題是,大多數摘要和步驟標記都是以嵌入CDATA的HTML代碼的形式給出的。在TestLink XML文件中從CDATA中刪除HTML標記

因此,這不是一個問題,但我需要將此文件轉換爲EXCEL表導入到Visual Studio測試管理器。當我嘗試對其進行轉換時,它不會以正確的方式進行轉換,並且數據仍然包含這些HTML標籤,因此難以閱讀。

我的問題是:是否有任何簡單的方法從XML文件中刪除CDATA和HTML標記?我試圖將其轉換爲Canonical形式,但只刪除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> 
+0

你提的問題非常普遍,並在其目前的形式並不聽命。您將不得不發佈輸入的_reduced_樣本以及您想要查看輸出的內容。 – 2011-02-03 22:12:33

回答

1

假設的格式是完全按照你所提到的。也許你可以編寫一個宏來創建另一個使用當前所有HTML標籤的excel。

我認爲可以有多個步驟來提取你需要的東西。

  1. 刪除 - 的所有結束標記,因爲這將使所有行的結束清理乾淨。
  2. 找到「>每一行中最後一次出現見這裏幫助http://www.mrexcel.com/archive/General/30895.html
  3. 使用權函數來提取數據

HTH

-1

遲到的回答:。嘗試Altova的軟件來轉換XML的內容,您需要特別的模塊MapForce的 後30天完整版評價是可用的。

0
  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