2015-10-16 82 views
1

我正在處理我的程序,我將導入一個XML文件並掃描解析器狀態(也包括元素,行號,內容)。如何僅使用標準庫來編寫XML解析器?

現在,我有存儲在vector中的所有元素和行號stringinteger

我的問題是,我怎樣才能掃描一個屬性,最終我可以指示根,兒童和直接的孩子?我曾嘗試使用<map>但仍然沒有線索。

下面是一些例子:

enter image description here

輸出將是

enter image description here

如果我用附加的庫,但我想使用標準的C/C這將是容易++只有圖書館。

+5

不要。使用圖書館。 XML解析非常困難,你會在前1000次嘗試中發現錯誤。如果你只是想學習 - 這是一個不同的故事,雖然 – Rostislav

+5

請不要使用文本的截圖 - 只需複製和粘貼文本,並使用您選擇文本時點擊「源代碼」格式,然後單擊「 }'按鈕。 –

回答

4

如果您需要XML解析器,請使用XML解析器。就那麼簡單。如果您不想使用現有的解析器,但只使用C++爲您提供的工具,則可以編寫自己的XML解析器。這樣做會很瘋狂。

如果有人告訴你如在XML上使用正則表達式:XML不是常規語言,您需要一個理解XML的詞法分析器,它是一個XML解析器。要了解當您嘗試使用RegEx時發生的情況,請分析HTML,see this answer

+0

謝謝,我會看看我能做什麼 – Krin

+1

@ user5455138:請[**接受**](http://meta.stackoverflow.com/q/5234/234215)這個答案如果它有幫助你。謝謝。 – kjhughes