<?xml version="1.0" encoding="UTF-8"?>
<AgentGroup>
<AgentItem>
<ConnectionString>Data Source=Server;Initial Catalog=GTI_R;Persist Security Info=True;User ID=sa;Password=1234;Connect Timeout=600</ConnectionString>
<AgentClass>GTI_RAgent</AgentClass>
<Name>abc</Name>
</AgentItem>
<AgentItem>
<ConnectionString>Data Source=server;Initial Catalog=GTI2;Persist Security Info=True;User ID=sa;Password=1234;Connect Timeout=600</ConnectionString>
<AgentClass>GTI2Agent</AgentClass>
<Name>efg</Name>
</AgentItem>
</AgentGroup>帮忙写段C#代码,要循环把AgentItem全部读出来

解决方案 »

  1.   

    string strxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><AgentGroup><AgentItem><ConnectionString>Data Source=Server;Initial Catalog=GTI_R;Persist Security Info=True;User ID=sa;Password=1234;Connect Timeout=600</ConnectionString> <AgentClass>GTI_RAgent</AgentClass><Name>abc</Name></AgentItem><AgentItem><ConnectionString>Data Source=server;Initial Catalog=GTI2;Persist Security Info=True;User ID=sa;Password=1234;Connect Timeout=600</ConnectionString><AgentClass>GTI2Agent</AgentClass><Name>efg</Name></AgentItem></AgentGroup>";
    XmlDocument doc = new XmlDocument();
    doc.LoadXml( strxml );
    System.Xml.XmlNodeList nodes = doc.SelectNodes( "/AgentGroup/AgentItem");
    foreach( XmlNode node in nodes )
    {
    System.Diagnostics.Trace.WriteLine( node.Name );
    }
      

  2.   

    发现用正则读取xml也挺方便的。,
      

  3.   

    我是要把每个AgentItem中的数据都读出来啊,不是要node.name
      

  4.   

    node 都出来了其余的还不容易
      

  5.   

    <AgentItem>
    <ConnectionString>([^<]*)</ConnectionString>
    <AgentClass>([^<]*)</AgentClass>
    <Name>([^<]*)</Name></AgentItem>
    用正则match