gpt4 book ai didi

c# - 解析 XML c# 问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:33 24 4
gpt4 key购买 nike

        private void nsButton3_Click(object sender, EventArgs e)
{
string geoip = nsTextBox4.Text;
WebClient wc = new WebClient();
string geoipxml = (wc.DownloadString("http://freegeoip.net/xml/" + geoip));
StringBuilder output = new StringBuilder();
using (XmlReader reader = XmlReader.Create(new StringReader(geoipxml)))
{
reader.ReadToFollowing("Response");
reader.MoveToFirstAttribute();
string geoipanswer = reader.Value;
MessageBox.Show(geoipanswer);
}
}
}
}

问题是当我单击按钮时显示一个空文本框。假设显示 IP 地址。 XML 响应看起来像这样..

<Response>
<Ip>69.242.21.115</Ip>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>DE</RegionCode>
<RegionName>Delaware</RegionName>
<City>Wilmington</City>
<ZipCode>19805</ZipCode>
<Latitude>39.7472</Latitude>
<Longitude>-75.5918</Longitude>
<MetroCode>504</MetroCode>
<AreaCode>302</AreaCode>
</Response>

有什么想法吗?

最佳答案

是的。 Ip 是一个元素,您正在尝试读取它,就好像它是和属性一样:

reader.MoveToFirstAttribute();

我建议切换到 LINQ to XML:

string geoipxml = (wc.DownloadString("http://freegeoip.net/xml/" + geoip));
var xDoc = XDocument.Parse(geoipxml);
string geoipanswer = (string)xDoc.Root.Element("Ip");
MessageBox.Show(geoipanswer);

您需要使用 System.Xml.Linq 使其工作。

关于c# - 解析 XML c# 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19735490/

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