gpt4 book ai didi

c# - 如何提取 http xml 答案的值

转载 作者:行者123 更新时间:2023-11-30 22:24:56 24 4
gpt4 key购买 nike

我是 C# 的新手,我正在尝试获取 http 应答的值。但我以前从未使用过 XML 东西。

简单的例子:http://freegeoip.net/xml/123.123.123.123

<Response>
<Ip>123.123.123.123</Ip>
<CountryCode>CN</CountryCode>
<CountryName>China</CountryName>
<RegionCode>22</RegionCode>
<RegionName>Beijing</RegionName>
<City>Beijing</City>
<ZipCode/>
<Latitude>39.9289</Latitude>
<Longitude>116.388</Longitude>
<MetroCode/>
</Response>

我想退回 <CountryName></CountryName>部分在 C# 中。有例子吗?

最佳答案

您可以选择以下两种方式之一。快速而肮脏的方法是简单地在 XML 字符串中搜索 CountryName,但我怀疑这是一个特别可靠的答案。

以所提供的 XML 格式不正确这一事实来警告此响应,我将提供以编程方式读取 XML 的更好答案是在 System.Xml 命名空间中,并使用 XmlDocument 对象加载和解析数据:

using System.Xml;

public static void Main(String args[])
{
XmlDocument foo = new XmlDocument();

//Let's assume that the IP of the target player is in args[1]
//This allows us to parameterize the Load method to reflect the IP address
//of the user per the OP's request
foo.Load( String.Format("http://freegeoip.net/xml/{0}",args[1]));

XmlNode root = foo.DocumentElement;

// you might need to tweak the XPath query below
XmlNode countryNameNode = root.SelectSingleNode("/Response/CountryName");

Console.WriteLine(countryNameNode.InnerText);
}

这不是 100% 完美的解决方案,但它应该是一个好的开始。希望这会有所帮助。

关于c# - 如何提取 http xml 答案的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com