首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中从XML中读取多个值

在C#中从XML中读取多个值
EN

Stack Overflow用户
提问于 2012-04-09 06:05:12
回答 2查看 975关注 0票数 0

我有一个xml文件

代码语言:javascript
复制
<Actual-External-Terminals>
    <Actual-External-Terminal>
      <Party-Id value="EXTRA:77440" />
      <Name value="77440" />
      <Dial-String value="77440" />
      <IP-ISDN-SIP value="IP" />
      <Total-Connection-Time value="0s" />
      <Failing-Attempts value="0" />
      <Last-Failure-Cause value="N/A" />
      <List-of-Connection-Records>
        <Connection Call-Rate="768" Call-Type="Video" ConnectionTime="" Dialin-Dialout="Dial-in" Disconnection-Time="2012-02-16T13:33:32Z" Over-GW-port-limit="false" Over-MCU-port-limit="false" Reason-Disconnection="Normal" />
      </List-of-Connection-Records>
    </Actual-External-Terminal>

在上面的xml中,我想获得连接部分的所有值,请帮助我,谢谢不能使用Linq to xml,因为它的.net框架2.0和桌面应用程序

关于wasif

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-09 06:39:33

System.Xml是一种方法。如下所示:

代码语言:javascript
复制
  using System.Xml;
// Name space & class declarations...
static void ReadXml(string filePath)
        {
            //These would be kept in a settings file but constants for this example
            const string CONNECTION_LISTING_NODE_NAME = "List-of-Connection-Records";
            const string CONNECTION_NODE_NAME = "Connection";
            const string CALL_RATE_ATTRIBUTE_NAME = "Call-Rate";

            //Load xml
            var doc = new XmlDocument();
            doc.Load(filePath);
            var root = doc.FirstChild;
            var connectionRecordLists = doc.SelectNodes(String.Format("//{0}",CONNECTION_LISTING_NODE_NAME));
            if (connectionRecordLists == null) return;
            for (var i = 0; i < connectionRecordLists.Count; i++)
            {
                var connections = connectionRecordLists[i].SelectNodes(CONNECTION_NODE_NAME);
                if (connections == null) continue;
                for (var j = 0; j < connections.Count; j++)
                {
                    if (connections[j].Attributes != null
                        && connections[j].Attributes[CALL_RATE_ATTRIBUTE_NAME] != null)
                    {
                        Console.WriteLine(connections[j].Attributes[CALL_RATE_ATTRIBUTE_NAME].Value);
                    }

                }
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2012-04-09 06:10:28

如果xml文件有固定的元素和属性,那么XmlSerializer类呢?http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer(v=vs.80).aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10066948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档