gpt4 book ai didi

c# - 获取某个xml节点并保存值

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

考虑以下 XML:

<Stations>
<Station>
<Code>HT</Code>
<Type>123</Type>
<Names>
<Short>H'bosch</Short>
<Middle>Den Bosch</Middle>
<Long>'s-Hertogenbosch</Long>
</Names>
<Country>NL</Country>
</Station>
</Stations>

有多个节点。我需要每个节点的值。我从网页 (http://webservices.ns.nl/ns-api-stations-v2) 中获取了 XML

登录(--)通过(--)

目前我将 XML 作为字符串并将其解析为 XDocument。

var xml = XDocument.Parse(xmlString);
foreach (var e in xml.Elements("Long"))
{
var stationName = e.ToString();
}

最佳答案

您可以使用 XPath 检索“Station”节点,然后使用更多 XPath 获取每个后续​​子节点。这个例子没有使用 Linq,看起来你可能正试图从你的问题中做到这一点,但这里是:

XmlDocument xml = new XmlDocument();
xml.Load(xmlStream);
XmlNodeList stations = xml.SelectNodes("//Station");

foreach (XmlNode station in stations)
{
var code = station.SelectSingleNode("Code").InnerXml;
var type = station.SelectSingleNode("Type").InnerXml;
var longName = station.SelectSingleNode("Names/Long").InnerXml;
var blah = "you should get the point by now";
}

注意:如果您的 xmlStream 变量是 String,而不是 Stream,请使用 xml.LoadXml( xmlStream); 用于第 2 行,而不是 xml.Load(xmlStream)。如果是这种情况,我还鼓励您为变量命名,以便更准确地描述您正在使用的对象(又名。xmlString)。

关于c# - 获取某个xml节点并保存值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018492/

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