aa.xml文档如下:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<根节点>
<ITEM>
<item1 />
<item2 />
</ITEM>
<ITEM>
<item1 />
<item2 />
</ITEM>
<ITEM>
<item1 />
<item2 />
</ITEM>
..................<ITEM>
<item1 />
<item2 />
</ITEM>
</根节点>这个XML是放在网上的,用什么方法能最快将<ITEM>的数量读出来?我现在的读法是
int num=0;//ITEM的数量
XmlDocument theDoc = new XmlDocument();
theDoc.Load("http://wwww.aaa/aa.xml");
num = theDoc.ChildNodes[1].ChildNodes;这样读数据量小还可以接受,但数据量大的话,就会很慢,怎么读最快,请指点,谢谢 在线等
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<根节点>
<ITEM>
<item1 />
<item2 />
</ITEM>
<ITEM>
<item1 />
<item2 />
</ITEM>
<ITEM>
<item1 />
<item2 />
</ITEM>
..................<ITEM>
<item1 />
<item2 />
</ITEM>
</根节点>这个XML是放在网上的,用什么方法能最快将<ITEM>的数量读出来?我现在的读法是
int num=0;//ITEM的数量
XmlDocument theDoc = new XmlDocument();
theDoc.Load("http://wwww.aaa/aa.xml");
num = theDoc.ChildNodes[1].ChildNodes;这样读数据量小还可以接受,但数据量大的话,就会很慢,怎么读最快,请指点,谢谢 在线等
foreacm(xmlnode node in nodelist)
{
每个node就是一个完整的<ITEM>..</ITEM>;
}
这个还要是先load那个XML的,速度应该还是一样吧
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
XmlDocument theDoc = new XmlDocument();
theDoc.Load("http://wwww.aaa/aa.xml");
XmlNodeList x = theDoc.SelectNodes("ITEM");
int i = x.Count;
//不知道行不行
aa.xml不能修改,别人也在用这个XML,
<Messages>
<Message ID='ABC60008'>
<![CDATA[<Message ID='ABC60008'><UseType>S</UseType><MainClassification>FW</MainClassification><MessageType>W</MessageType><EventType>6</EventType><VoluntaryCode>0008</VoluntaryCode><MessageBody>连接成功。</MessageBody><UserMessageID></UserMessageID><MonitoringLevel>1</MonitoringLevel></Message>]]>
</Message>
</Message>自己写了一个MyMessage的类,里面存放MESSAGE的属性
private MyMessage ConvertToMessageData(string xmlValue)
{
string messageId = string.Empty;
string useType = string.Empty;
string mainClassification = string.Empty;
string messageType = string.Empty;
string messageBody = string.Empty; XmlDocument document = null;
MyMessage data = new MyMessage(null, null, null, null, null);
try
{
document = new XmlDocument();
document.LoadXml(xmlValue);
messageId = document.SelectNodes("/Message").Item(0).Attributes.GetNamedItem("ID").Value;
useType = document.SelectNodes("/Message/UseType").Item(0).InnerText;
mainClassification = document.SelectNodes("/Message/MainClassification").Item(0).InnerText;
messageType = document.SelectNodes("/Message/MessageType").Item(0).InnerText;
messageBody = document.SelectNodes("/Message/MessageBody").Item(0).InnerText;
data = new MyMessage(messageId, useType, mainClassification, messageType, messageBody);
}
catch (Exception exception)
{
thow ;
}
return data;
}
上面搞错了
XmlDocument theDoc = new XmlDocument();
theDoc.Load("http://wwww.aaa/aa.xml");
XmlNodeList x = theDoc.SelectNodes("根节点/ITEM"); //改这里
int i = x.Count;速度就不知道了Xml文件如果太大的话 ,我想也没什么好方法来吧.总之他要循环找出来吧
dataset我试过了,跟XmlDocument的速度差不多,都很慢
怎么读那个XML呢,我现在只需要读,不需要对其进行操作
XmlNode node = XDocument.SelectSingleNode("设置/参数/SerialPort_1");
FileStream fs = new FileStream(@"c:\1.txt", FileMode.Create);
BinaryWriter BW = new BinaryWriter(fs);
BW.Write("ipqiejtrqpirtjpaoiwfj");
BW.Write(200);
BW.Write(true);
BW.Write(new char[] { 'a', 'b', '你' });
BW.Close();
fs.Close();可以用BinaryReader类读出来;