首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

!小弟我想在xml里取某个节点的值,但总是报错,请大家帮忙啊

2012-01-19 
救命啊!我想在xml里取某个节点的值,但总是报错,请大家帮忙啊!这是方法:privatestringparseMegeFields(stri

救命啊!我想在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的类

热点排行