2016-07-20 49 views
0

我一直在試圖通過一個XML文件進行迭代,但這樣做之前,我已經寫了這行代碼:Qt的C++ XML意外的字符

if(!dom.setContent(&file, &error, &line, &column)) { 
    qDebug() << "Error:" << error << "in line " << line << "column" << column; 
} 

出於某種原因,它使返回

Error: "unexpected character" in line 2 column 2 

這是我的xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<ItemRow name="{0405d28e-fa16-443d-b70e-ba62efb60973}" website="test" login="test1" password="test2" category="No Category"/> 
<(line 2 column 2 here)ItemRow name="{69407bfb-ecbd-4456-abfb-08c19f5c4b19}" website="test3" login="test4" password="test5" category="No Category"/> 

我一直在試圖解決這一問題的時間,並沒有取得進展,任何建議都APPR eciated。

回答

1

在這種情況下,您可以嘗試w3 XML驗證程序:http://validator.w3.org/#validate_by_input,看看會發生什麼。

我粘貼的代碼(沒有錯誤消息):

<?xml version="1.0" encoding="UTF-8"?> 
<ItemRow name="{0405d28e-fa16-443d-b70e-ba62efb60973}" website="test" login="test1" password="test2" category="No Category"/> 
<ItemRow name="{69407bfb-ecbd-4456-abfb-08c19f5c4b19}" website="test3" login="test4" password="test5" category="No Category"/> 

和得到的消息

3行,列126:文件類型不允許元素 「ItemRow」 這裏

我想你只是缺少XML結構的根元素。 以下XML是有效的:

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <ItemRow name="{0405d28e-fa16-443d-b70e-ba62efb60973}" website="test" login="test1" password="test2" category="No Category"/> 
    <ItemRow name="{69407bfb-ecbd-4456-abfb-08c19f5c4b19}" website="test3" login="test4" password="test5" category="No Category"/> 
</root> 

參考:http://www.w3schools.com/XML/xml_tree.asp