0
我有以下格式無法訪問使用pugixml
<Objects>
<Object>
<Id>1</Id>
<Name>Head</Name>
</object>
<Object>
<Id>2</Id>
<Name>Right Hand</Name>
</object>
<Object>
<Id>3</Id>
<Name>Left Hand</Name>
</object>
<Object>
<Id>4</Id>
<Name>Right hand</Name>
</object>
<Object>
<Id>5</Id>
<Name>Cup</Name>
</object>
<Object>
<Id>6</Id>
<Name>Book</Name>
</object>
</Objects>
一個XML文件,我想用一個循環由物體通過以下方式來訪問我的文件對象使用循環XML節點:
xml_node nodeObjects = doc.child("Objects").child("Object");
for(xml_node_iterator it = nodeObjects.begin(); it != nodeObjects.end(); ++it)
{
cout<<"Name = "<<it->child_value("Name")<<endl;
}
也:
xml_node nodeObjects = doc.child("Objects");
for(xml_node nodeObject = nodeObjects.first_child(); nodeObject; nodeObject = nodeObject.next_sibling())
{
numOfObjects += 1;
const char *id = nodeObject.child_value("Id");
const char *name = nodeObject.child_value("Name");
//cout<<"ID = "<<id<<" Name = "<<name<<endl;
//cout<<nodeObjects.next_sibling("Object").child_value("Id")<<endl;;
}
最後:
xml_node nodeObjects = doc.child("Objects");
for(xml_node nodeObjects: nodeObjects.children("Object"))
{
}
儘管前兩種方法沒有打印預期結果(只有第一次迭代有效),但編譯器說第三種方法是語法錯誤!
任何幫助!
感謝您的回答。它正在工作。 – Ibrahim
@Ibrahim如果zeuxcg的答案是正確的,請將其標記爲給他信用。如果你一直給予答案的信貸,人們將更有可能回答你未來的問題。 –