读书人

!小弟我想在xml里取某个节点的值,但总

发布时间: 2012-01-19 00:22:27 作者: rapoo

救命啊!我想在xml里取某个节点的值,但总是报错,请大家帮忙啊!
这是方法:
private string parseMegeFields(string megeField, string xml, string uniqueID)
{
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(megeField);
XmlNodeList xnl = xdoc.SelectNodes( "/MergeFields "); //TODO: struct of the xml document
StringBuilder sb = new StringBuilder();
foreach (XmlNode xn in xnl)
{
sb.Append( " <MergeField> ");
sb.Append( " <MRGUNQID> ");
sb.Append(Guid.NewGuid().ToString());
sb.Append( " </MRGUNQID> ");
sb.Append( " <UNQID> ");//TODO: guid in transdetail,but int in megefields.
sb.Append(uniqueID);
sb.Append( " </UNQID> ");
sb.Append( " <MgFldName> ");
sb.Append(xn.SelectSingleNode( "/MergeField/MergeFieldName ").InnerText);
sb.Append( " </MgFldName> ");
sb.Append( " <MgFldData> ");
sb.Append(xn.SelectSingleNode( "/MergeFieldData ").InnerText);
sb.Append( " </MgFldData> ");
sb.Append( " </MergeField> ");
}
return xml+sb.ToString();


}

sb.Append(xn.SelectSingleNode( "/MergeField/MergeFieldName ").InnerText);
这里的参数如果是/MergeFieldName也不可以
这是xml
<MergeFields>
<MergeField>
<MergeFieldName> MRGUNQID </MergeFieldName>
<MergeFieldData> 2 </MergeFieldData>
</MergeField>
<MergeField>
<MergeFieldName> MgFldName </MergeFieldName>
<MergeFieldData> 1 </MergeFieldData>
</MergeField>
<MergeField>
<MergeFieldName> MgFldData </MergeFieldName>
<MergeFieldData> dddd </MergeFieldData>
</MergeField>
<MergeField>
<MergeFieldName> UNQID </MergeFieldName>
<MergeFieldData> aa0fb688-12ef-4f2a-9e7f-55d479c2d8e4 </MergeFieldData>
</MergeField>
</MergeFields>
请大家帮帮我!

[解决办法]
sb.Append(xn.SelectSingleNode( "MergeField/MergeFieldName ").InnerText);
sb.Append( " </MgFldName> ");
sb.Append( " <MgFldData> ");
sb.Append(xn.SelectSingleNode( "MergeFieldData ").InnerText);


[解决办法]
有时间发给你个写好的读写xml的类

读书人网 >C#

热点推荐