【发布时间】:2012-02-19 23:00:18
【问题描述】:
根据用户的建议回答了我的问题,我正在尝试将我的 XmlDocument 代码转换为 XmlReader 代码,但我遇到了一些麻烦。
这是 XML(从 php-mysql 页面生成)
<row>
<idLink>64</idLink>
<idHost>3</idHost>
<url>http://www.google.com</url>
</row>
<row>
<idLink>68</idLink>
<idHost>4</idHost>
<url>http://www.bing.com</url>
</row>
..... until about 10000 rows
这是我的 XmlDocument 代码:
xmlDoc.Load("http://www.myUrl.com/list.php");
if (xmlDoc.DocumentElement != null){
foreach (XmlNode node in xmlDoc.DocumentElement)
{
if (node.Name == "row")
{
list.Add(new Links {
idLink = Convert.ToInt32(node.ChildNodes[0].InnerText),
idHost = Convert.ToInt32(node.ChildNodes[1].InnerText),
url = node.ChildNodes[2].InnerText });
}
}
return list;
现在我在 XmlReader 中转换时遇到了一些麻烦,我尝试了很多代码但我无法处理它。
using (XmlReader reader = new XmlTextReader("http://myUrl.com/list.php"))
{
if (reader.NodeType == XmlNodeType.Element)
?????
【问题讨论】:
-
坦率地说,尝试(稳健地)使用 XmlReader 读取 xml 非常困难。你想在这里做什么?你的目标是什么? xml 的大小是多少?
-
@MarcGravell 正如我在 xml 代码中所写,xml 的大小约为 10000 行。我正在阅读放入 List. 的 xml e
-
XmlDocument 出现什么问题?你试过 XmlSerializer 吗? XElement?
-
@MarcGravell 问题是我需要在内存中保存这个对象列表,它们大约是 10000。正如我在这篇文章中看到的 nearinfinity.com/blogs/joe_ferner/…,XmlReader 的性能更好
-
@MarcGravell 问题出在 Ram 和 PC 上。它们是(大部分)具有 512 Mb Ram 专用的虚拟机,我会提高性能。
标签: .net xmldocument xmlreader