C# 如何在c中从xml中提取电话号码#

C# 如何在c中从xml中提取电话号码#,c#,xml,C#,Xml,我有以下xml响应 <participantpasscode>92793519</participantpasscode> <dialInNumber> <phoneType>FREE</phoneType> <formattedNumber>0808 1005145</formattedNumber> <displayName>Unite

我有以下xml响应

   <participantpasscode>92793519</participantpasscode>
    <dialInNumber>
        <phoneType>FREE</phoneType>
        <formattedNumber>0808 1005145</formattedNumber>
        <displayName>United Kingdom Freefone: 0808 1005145</displayName>
        <rawNumber>08081005145</rawNumber>
        <country>GBR</country>
    </dialInNumber>
    <dialInNumber>
        <phoneType>NATR</phoneType>
        <formattedNumber>0844 5610081</formattedNumber>
        <displayName>United Kingdom Primary: 0844 5610081</displayName>
        <rawNumber>08445610081</rawNumber>
        <country>GBR</country>
    </dialInNumber>
    <createDate>2014-11-19T15:09:09.815Z</createDate>
92793519
自由的
0808 1005145
联合王国免费电话:0808 1005145
08081005145
GBR
钠
0844 5610081
英国小学:08445610081
08445610081
GBR
2014-11-19T15:09:09.815Z

在电话类型上,我可以找到这个拨入号码是长途电话号码或免费电话号码,例如,如果电话类型是“免费”,那么它是免费电话号码,否则这是免费电话号码。我想用c#编写代码,从这个xml响应中获取toll no和toll free no。

首先,您必须向xml中添加一个根元素,否则此解决方案可能无法工作。如果您真的不能添加它,您可以通过使用XMLText读取器并将一致性级别设置为fragment来绕过它

var doc = new XmlDocument();
doc.LoadXml(xml);
var children = doc["root"].ChildNodes;
foreach (XmlNode c in children)
{
    if (c.Name == "dialInNumber")
    {
        var type = c["phoneType"].InnerText;
        var number = c["rawNumber"].InnerText;
        //Do stuff with type and number
    }
}

请注意,我添加了一个名为root的根元素,这就是为什么在第三行我进入该元素,否则doc.LoadXml方法将抛出异常。

我没有得到任何方法!!检查这个:也检查这个提琴:Linq是一个很好的获取提琴的方法them@NituBansal林克是C#