所以我遇到了這個XML文件,我想用C++讀取。它的標題信息看起來很奇怪,並且有很多這樣的文件。我似乎無法對散裝進行更改,因此我將不得不按照原樣讀取它。如何在C++中讀取這個XML文件?非標準(讀)「無效」XML
我也打開解析它直接使用ifstream。我想提取數據和數字。其中一個文件的內容如下:
<!DOCTYPE refSeg SYSTEM "isthisthereallife.no">
<refSeg src="skjkska.doc" how="dunno" willa="25820">
<trans type="IN1" pum1="2280" pum2="2281"/>
<trans type="IN2" pum1="3495" pum2="3496"/>
<trans type="IN3" pum1="4936" pum2="4937"/>
</refSeg>
我想在「pum1」,並在不同的變量「pum2」 /矩陣格式/列表中的號碼。還有另一個變量中的「類型」。
如果您的「非標準」意思是「無效」,那麼您將與第三方XML庫進行抗爭 - 它們通常被設計爲僅允許有效的XML。您可以編寫自己的解析器(不要!),也可以執行必要的手術以首先將數據轉換爲有效的XML。 –
但是我有這麼多文件,有沒有辦法通過ifstream直接讀取這些數據? –
您可以通過任何標準機制閱讀它。但這是XML解析,這將是問題。 –