2014-06-05 67 views
0

我有下面的xml文件;使用VBA刪除XML標頭

<?xml version="1.0" encoding="UTF-8"?> 
<response><XXX><id>1</id></XXX></response> 

我想從文件,使得xml文件看起來像這樣除去XML頭<?xml version="1.0" encoding="UTF-8"?>;

<response><XXX><id>1</id></XXX></response> 

這怎麼能用Excel VBA完成?

這樣做的目的是讓我可以通過LoadXML()函數將無標頭字符串加載到MSXML2.DOMDocument對象中。

謝謝。

+1

'LoadXML()'與XML標題沒有問題。如果XML來自文件,那麼還有'Load()'。 – GSerg

+0

我所做的是複製文件中的xml內容並將其粘貼到Excel上的單元格中。從那裏,我使用LoadXML()。如果xml頭部存在,則加載失敗。在手動刪除標題後,加載成功。 – user781486

+0

然後,您在複製時必須損壞標題。我無法用MSXML v4,v5或v6重現問題。 – GSerg

回答

0

可以使用Replace功能...

Dim DoubleQuote : DoubleQuote = Chr(34) 
Dim strHeader : strHeader = "<?xml version=" & DoubleQuote & "1.0" & DoubleQuote & " encoding=" & DoubleQuote & "UTF-8" & DoubleQuote & "?>" 
Result = replace(strHeader,strHeader,"") 
If Result = "" then 
    MsgBox "Header stripped!" 
Else 
    MsgBox "Failed to strip header." 
End If 

希望幫助!

+0

謝謝。我相信它會起作用。 Upvoted。但我正在考慮使用使用某些XML庫函數的方法,以便可以刪除任何形式的xml聲明。 – user781486