vs2017 C 寫XML檔案思路和問題

2021-10-10 11:03:57 字數 1160 閱讀 1021

新手小白,不對的請賜教!

前幾天剛發布了一篇部落格叫做xml檔案的讀取,今天又來更新一篇,叫做xml檔案的寫入。

這篇部落格還是記錄我做程式過程中的思路和問題,以及他們的解決方法。完整程式在這裡。

我這個和修改還是有點區別的,修改比我這個麻煩很多。

1.怎麼寫成乙個xml檔案?

由於之前寫過xml檔案的讀取,所以今天這個思路很好想。直接使用外部資源tinyxml。這裡不需要浪費時間。

如何引入外部資源,網上有的是**!

2.往xml檔案裡面新增節點的時候,出現如下情況

<?xml version="1.0" encoding="gb2312" ?>

當我寫完四個父節點的時候發現成了這樣,我要寫的不是這樣,每個節點裡面還有很多很多子節點。後來由於無知我還特意去搜資料,沒發現有什麼解決辦法。後來實在沒辦法,我就往裡面寫節點試試,看能不能變成我想要的樣子,一試發現,我猜想的是正確的,只要你繼續往裡面寫入新的子節點,xml檔案的格式就變成了這個樣子。

<?xml version="1.0" encoding="gb2312" ?>

2.給節點值設定屬性需要型別轉換問題

由於我之前讀取xml檔案儲存節點資訊時,將一些節點資訊值設定為string型別、int型別、folat型別這三種型別。

在使用setattribute的時候,需要將上面三種型別轉換成char*型別。剛開始我沒想使用轉換型別的方法,想找乙個更好的方法來代替setattribute,到那時沒找到,還是使用了型別轉換。

①:string型別轉char *

char * cha_pointname = (char *)featurepoints[j].featurepointname.c_str();
②:int型別轉char *

char  cha_recognize = (char )featurepoints[j].recognize;
③:float型別轉char *

這個型別轉換我也沒轉明白,等以後找到方法我在加上。

好啦,上面就是我在完成寫xml檔案的時候遇到的問題,以及問題的解決辦法。最後乙個問題如果有大神有好的方法,那就希望大神賜教一下啦!

記錄xerces使用(VS2017 C )

1.編譯xerces,獲得dll檔案和lib檔案 2.將dll檔案和lib檔案拷貝到使用xerces的工程目錄裡面去 3.配置vs2017 c c all options additional include directories 放入xerces工程的src目錄 linker all optio...

在VS2017 C 中快速用上Sqlite

如果我們想編寫乙個有資料庫支援的程式,但是我們又不想安裝資料伺服器,那麼sqlite我們最好的選擇,以前我們還可以選擇微軟的access資料庫檔案mdb,但隨著微軟的office的公升級,mdb的支援也是越來越錯綜複雜了,所以這裡我們為了快速的實現我們的目標,我們選擇了sqlite。2 通過sqli...

VS2017 C 讀取Txt資料的方法

目錄 1.這裡採用fopen s 函式開啟檔案。2.對一些有規範格式檔案的讀取,可使用標準庫stdio.h下的fscanf s函式。3.如讀取檔案data.txt 資料格式相對規範 與程式 外的資料 檔案 打交道,我們使用到流 stream 這個概念,實現程序的虛擬記憶體與檔案之間的資料交換。檔案流...