请大家帮忙看看,这个bug该怎么改
String __fastcall TForm1::getvalue(String strValue)//获得xml中的数据内容
{
_di_IXMLDocument XMLDoc;
XMLDoc = NewXMLDocument();
XMLDoc->LoadFromFile((WideString)"D:\\Request.xml"); //载入xml文件
XMLDoc->Active=true;
_di_IXMLNode node=XMLDoc->DocumentElement;//根节点
_di_IXMLNodeList nodes=node->ChildNodes;//子节点
for(int n=0;n<nodes->Count;n++)
{
for(int j = 0; j < nodes->Nodes[n]->ChildNodes->Count; j++)
{
String strValue = nodes->Nodes[n]->ChildNodes->Nodes[j]->NodeValue;
String strName = nodes->Nodes[n]->ChildNodes->Nodes[j]->NodeName;
list->Add(strName + "=" + strValue);
}
}ShowMessage(list->Values[Edit1->Text]);
return strValue;
}
这个代码发现一个bug,比如下面的这个xml文件,有两个<Name>但是不在同一层的时候,会报错
“Element does not contain a single text node”,请问该怎么解决?求代码
<Request>
<Name>
<SendAppBill>
<CardNo>001</CardNo>
<Name>张三</Name>
<Age>56</Age>
<SendAppBill>
</Name>
<Request>