用xsl格式化MSXML2操作的XML檔案

2021-06-19 18:59:32 字數 1317 閱讀 7070

msxml2::ixmldomdocument2ptr cxmldomfile::xmlnormalize( msxml2::ixmldomdocument2ptr pxmldocold)

對上述問題,解釋與解決方案如下:

msxml dom 錯誤

兩個常見的錯誤從 xml 文件物件模型 (dom) 介面方法返回的是:

文字內容中找到無效的字元。

-和-不支援從當前加密到指定的編碼開關。

ixmldomdocument介面的load方法,這些錯誤通常發生在下列情況下:

乙個好的做法是始終指定正確的編碼在 xml 宣告中,而不是接受預設的編碼。

使用 msxml 分析器版本 2.5,2.5 sp1 和 2.6,loadxml方法的ixmldomdocument只能載入 utf-16 或 ucs-2 編碼資料。

任何嘗試載入 xml 資料使用另一種編碼格式導致以下錯誤:

不支援從當前編碼到指定的編碼的切換。

msxml 3.0 (msxml3.dll) 的發布,這種限制將被刪除,並以下**執行不會出錯:

hr = pxmldoc->loadxml("<?xml version=\"1.0\" encoding=\"utf-8\"?>abcdef");

注意: 為 utf-16 編碼,而不在開始時的位元組順序標記的情況下,xml屬性的ixmldomdocument介面將寫出 xml 資料。

這可能會導致的編碼問題。

xsl 或 xslt 檔案的 xml 編碼的資訊,如下所示指定在其中呼叫ixmldomnode介面的transformnode方法時,您還可能收到以下錯誤:

transformnode方法返回 bstr 即根據定義的 utf-16 編碼資料。

保留的編碼更好的方法是呼叫transformnodetoobject方法,並將結果寫入流或到新的 xml 文件儲存,然後予以儲存。

因此上述**應修改為:

msxml2::ixmldomdocument2ptr cxmldomfile::xmlnormalize( msxml2::ixmldomdocument2ptr pxmldocold)

參考資料:

python 格式化操作

格式化操作 本質 對映 常見用途 對字串格式化輸出 對數值進行精度處理,進製轉換等。兩種方式 1.用 格式符來格式化 2.用str.format 方法格式化 1.用 格式符 a.格式化字串。例 s s s fu sheng shabi fu sheng shabi b.格式化數值。例 2f 3.14...

python格式化操作

python格式化的形式主要有以下幾種形式 1 句子 字串 中的某個詞彙替換 a ran print my name is s a 輸出 my name is ran,將a的字串賦值給 s s表示字串,d表示整數,f表示浮點數 2 指定輸出數值的小數字個數 b 3.14 print p value ...

Python 格式化輸出(2)

python版本 python 2.7.13rc1 正確的寫法 print print print錯誤的寫法 print對齊 print 4d 42 42 print format 42 42 print 04d 42 0042 print format 42 0042 import math pr...