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