不谋万世者,不足谋一时;不谋全局者,不足谋一域。君子敏于事而慎于言 新浪微薄:土司阿哈

用C#读xml文件

上一篇 / 下一篇  2008-12-01 17:46:02 / 个人分类:软件开发相关

1208328177
  • 自动化测试:
  • 测试文档:
51Testing软件测试网p9Y3q.\)CW9z#uV

//读一个Xml文件,用XmlTextReader来读 51Testing软件测试网 B"E`t7|%?9hR
public ArrayList readXml(string fileName) 51Testing软件测试网maLn3uQ}3j-m
{ 51Testing软件测试网ZRcTN A
ArrayList readResult=new ArrayList();
e E!U8Tq@ Q|0readResult.Clear(); 51Testing软件测试网&n&_ o'n I3e/j

;wc&US.^)U{+{D0XmlTextReader tr=new XmlTextReader(fileName);
!{ LVt1O*`8@7f0while(!tr.EOF)
auwj)dK0{
T3I@Mtx W0if(tr.MoveToContent()==XmlNodeType.Element) 51Testing软件测试网V7E h1g5B tk
{
a(E,wB!Y;z[0try 51Testing软件测试网\vmC'P-S8\2uI"H
{
cxq*W0hy0readResult.Add(tr.ReadElementString()); 51Testing软件测试网6A"D#I8j vsM#t0v2x
}
6q?B,Q,f:y*F4C,C0catch(XmlException ex){} 51Testing软件测试网I.|^?B?"v4pA7I
}
#j&y|}2r3w6[0else 51Testing软件测试网z O/R6Y0@x4N
{tr.Read();} 51Testing软件测试网,Ql3r*rpq"iR
} 51Testing软件测试网[ B-z5bbZI
return readResult;
r2w^vR!V0}

P6]3rQn3GD0

_;q-d!] p/zt0
)U_z;]+L0/* 51Testing软件测试网"e"x @#C9{+Fd
* 读一个Xml的XmlDocument,用递归调用方法来显示所读Xml的所有内容 51Testing软件测试网h#fBzv;F \2fE/V
* 递归调用不适合文件很大的Xml文件读取,这里只是展示一下XmlDocument的内部结构 51Testing软件测试网 K9nr mON$r7e
* 正常情况可以用XmlDocument的GetElementsByTagName()方法来查询 51Testing软件测试网[;F,L0q_9z
* */ 51Testing软件测试网.s7K+V)r in6xy
public ArrayList readXml(XmlDocument doc){ 51Testing软件测试网B6MP1e"oO
ArrayList readResult=new ArrayList(); 51Testing软件测试网*?t@kP!t3Qo
readResult.Clear(); 51Testing软件测试网r'D-l9q-kv a6@6n

)M~Y$MA0XmlNodeList nodeLst=doc.ChildNodes;
q4?my&xBy0XmlNodeListRead(readResult,nodeLst);

d _'GA sNpGi0 51Testing软件测试网"JVpl;} { Z~

return readResult;
;m:H$hxhpze0}

1y ]B!Ic E2`0

7Si,S%Doy:\0//递归调用 51Testing软件测试网p$}7h:Y7U
public void XmlNodeListRead(ArrayList readResult,XmlNodeList nodeLst){
Q$Oz o~,A"}J#lQG0for (int i=0;i <nodeLst.Count;i++) 51Testing软件测试网+Q A y9Z5Ei1D w/u:ql
{ 51Testing软件测试网(Of)Y9Vj-^&O
XmlNode node=nodeLst[i]; 51Testing软件测试网N1yI_)[,O
if(!node.HasChildNodes) 51Testing软件测试网-J!@ v8S5|'P BO
{
V ov V(g0if(node.NodeType!=XmlNodeType.Comment & node.NodeType!=XmlNodeType.XmlDeclaration) 51Testing软件测试网~A cIJ _HA
{ 51Testing软件测试网2U2I/cwTAF
try 51Testing软件测试网[6~Epz-F~
{readResult.Add(node.InnerText);}
fP#qBH d+z%B0catch(XmlException ex){}
t ibigKLY0}
yh~Rqj6G0} 51Testing软件测试网+kG e i}R
else
#DNk/y U6mP%x0{
&uW9C"O8qLmI0XmlNodeListRead(readResult,node.ChildNodes);
2K6AZ/R4N0B0}
(w/hfR? mZ;c0}
Y8|9SkWs2ZJ%S0} 51Testing软件测试网m5CM\*zLC3fQx P

51Testing软件测试网*}B daiL7Rt

private void button1_Click(object sender, System.EventArgs e)
ig)oIe$I0{ 51Testing软件测试网5jzgj9v'Y!R&?
string fileName="books.xml"; 51Testing软件测试网'f'f5B T^:`hS\%xt
ArrayList myRead=readXml(fileName); 51Testing软件测试网?.ahEj$r2p-j
this.listBox1.Items.Clear(); 51Testing软件测试网m'p$C+a ] l
for(int i=0;i <myRead.Count;i++){this.listBox1.Items.Add(myRead[i].ToString());}
V3x wii!e:{0}

R2B j:V4jp5@0 51Testing软件测试网|oG-m2nL#e

private void button3_Click(object sender, System.EventArgs e)
:i&Ub.F4u0{
Q}$G.U yF;i]6X[.dkG0doc.Load("booksEdit.xml");

l&g9p;e8@;s0 51Testing软件测试网B8['T8La}

//显示
i]&D}"ZG1O0ArrayList myRead=readXml(doc); 51Testing软件测试网7CoJ az+Lz
this.listBox1.Items.Clear();
5WO"s!n_e bD:IV0for(int i=0;i <myRead.Count;i++){this.listBox1.Items.Add(myRead[i].ToString());} 51Testing软件测试网)Pa'c*Rp @1W^
}

C"V%OG!rF0Xe0

TAG: 软件开发相关

 

评分:0

我来说两句

Open Toolbar