节点类型:XmlDeclaration
属性:version=1.0属性:encoding=utf-8
/
节点类型:Whitespace
标记空白内容:
节点类型:Whitespace
标记空白内容:
/不是想要的结果啊!是为何?、???
源代码如下:读取代码如下:
private void button1_Click(object sender, EventArgs e)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
XmlReader xmlreader = XmlReader.Create(@"../../XMLFile1.xml", settings);
string s = "";
while(xmlreader.Read())
{
s += "/r/n" + "节点类型:" + xmlreader.NodeType + "/r/n";
switch (xmlreader.NodeType)
{
case XmlNodeType.XmlDeclaration:
for (int i = 0; i < xmlreader.AttributeCount; i++)
{
xmlreader.MoveToAttribute(i);
s += "属性:" + xmlreader.Name + "=" + xmlreader.Value + "";
}
break;
case XmlNodeType.Attribute:
for (int i = 0; i < xmlreader.AttributeCount; i++)
{
xmlreader.MoveToAttribute(i);
s += "属性:" + xmlreader.Name + "=" + xmlreader.Value + "" ;
}
break;
case XmlNodeType.CDATA:
s += "cada节" + xmlreader.Value + "";
break;
case XmlNodeType.Element:
s += "节点名称:" + xmlreader.LocalName + "/r/n";
for (int i = 0; i < xmlreader.AttributeCount; i++)
{
xmlreader.MoveToAttribute(i);
s += "属性:" + xmlreader.Name + "=" + xmlreader.Value + "";
}
break;
case XmlNodeType.Comment:
s += "注释:" + xmlreader.Value;
break;
case XmlNodeType.Whitespace:
s += "标记空白内容:" + xmlreader.Value;
break;
case XmlNodeType.ProcessingInstruction:
s += "处理指令:" + xmlreader.Value;
break;
case XmlNodeType.Text:
s += "节点内容:" + xmlreader.Value;
break;
}
}
xmlreader.Close();
textBox1.Text = s;
}
xml的代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<!-- This file is a part of a book store inventory database -->
<bookstore xmlns="http://example.books.com">
<book 类型="计算机类" 出版时间="2009" ISBN="978-7-121-05477-8">
<书名>Visual Basic.NET实用教程</书名>
<作者>
<主编>郑阿奇</主编>
<编著>彭作名</编著>
</作者>
<价格>36元</价格>
</book>
<book 类型="计算机类" 出版时间="2009" ISBN="978-7-121-06142-4">
<书名>Delphi实用教程</书名>
<作者>
<主编>郑阿奇</主编>
<编著>顾韵华</编著>
</作者>
<价格>42元</价格>
</book>
</bookstore>