我一直在寻找类似的问题,但每一个都很容易解决(双 reader.Read() 方法),但我的很奇怪......
这是我的 ASP.NET C# 方法:
private IEnumerable<XElement> getXMLData(String inputURI, String elementName)
{
List<XElement> result = new List<XElement>();
XmlReader reader = XmlReader.Create(inputURI);
XElement elem;
reader.MoveToContent();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name.Equals(elementName))
{
elem = XNode.ReadFrom(reader) as XElement;
if (elem != null)
{
result.Add(elem);
}
}
}
}
return result;
}
我正在尝试解析以下 URI: http ://chartapi.finance.yahoo.com/instrument/1.0/aapl/chartdata;type=quote;range=1m/
我选择 elemName="p" - 顺便说一下,这些是我的 jqplot 图表的值。
问题是,这种解析方法保存到列出每隔一个“p”节点;此 XML 文件中有 20 个“p”节点,但我的解析器仅保存 10 个元素(每隔一个,从第一个开始);
我究竟做错了什么?