public void DocumentRead()
{
XmlDocument xdoc = new XmlDocument();
// string strFileName = System.IO.Directory.GetCurrentDirectory() + "\\test.xml";
string strFileName = ".\\test.xml";
xdoc.Load(strFileName);
Console.WriteLine(xdoc.InnerXml);
Console.Read();
}
public void XmlReader(string strFileName)
{
//string strFileaName = ".\\test.xml";
XmlTextReader xreader = new XmlTextReader(strFileName);
xreader.WhitespaceHandling = WhitespaceHandling.None;
while (xreader.Read())
{
for (int i = 0; i < xreader.Depth; i++)
Console.Write("\t");
switch (xreader.NodeType)
{
case XmlNodeType.Element: // 元素
Console.WriteLine("<{0}>",xreader.Name);
break;
case XmlNodeType.Text: //文本
Console.WriteLine("{0}",xreader.Value);
break;
case XmlNodeType.EndElement:
Console.WriteLine("</{0}>",xreader.Name);
break;
case XmlNodeType.Comment: //注释
Console.WriteLine("<!--{0}-->",xreader.Value);
break;
case XmlNodeType.XmlDeclaration: //声名
Console.WriteLine("<?xml version='1.0'?>");
break;
case XmlNodeType.Document: //根节点
break;
case XmlNodeType.DocumentType: //文档类型声名
Console.WriteLine("<!DOCTYPE {0} [{1}]>",xreader.Name,xreader.Value);
break;
}
}
if (xreader != null)
xreader.Close();
Console.Read();
}
枚举值 节点类型 示例
Attribute 属性 id='123'
Coument 注释 <!--my comment-->
Document 文档数的根节点 <document>
DocumentType 文档类型声名 <!DOCTYPE....>
Element 元素 <姓名>
Text 节点的文本内容 张三
EndElement 元素结束标记 </姓名>
Entity 实体声名 <!ENTITY...>
EntityReference 对实体的引用 #
Notation 文档类型声名中的表示法 <!NOTION..>
ProcessingInstruction 处理指令 <?pi test?>
Whitespace 标记间空白
XmlDeclaration XML声名 <?xml version ='1.0'?>
/// <summary>
/// use xmlnode read node
/// </summary>
/// <param name="strFileName"></param>
public void xmlNodereader(string strFileName)
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load(strFileName);
XmlNode xnode = xdoc.DocumentElement.FirstChild;
Console.WriteLine("node name\t\t:{0}", xnode.Name);
Console.WriteLine("node type\t: {0}", xnode.NodeType);
//Console.WriteLine("属性值\t\t: {0}", xnode.Attributes[0].Value);
Console.WriteLine("node value\t: {0}", xnode.Value);
Console.WriteLine("base address\t:{0}", xnode.BaseURI);
Console.WriteLine("if have child \t: {0}", xnode.HasChildNodes);
Console.WriteLine("Childnode value\t: {0}",xnode.InnerText);
Console.WriteLine("Childnode XML\t:{0}", xnode.InnerXml);
Console.WriteLine("self and child XML\t: {0}", xnode.OuterXml);
Console.WriteLine("XML document\t:{0}", xnode.OwnerDocument.Name);
Console.WriteLine("parentnode \t\t: {0}", xnode.ParentNode.Name);
Console.Read();
}
浙公网安备 33010602011771号