【原创】简单的XML文档读取与操作

  在写程序的时候,经常遇到利用XML文件作为结构化数据传递的方式。一个组件按照一定的结构生成XML,另外一个组件读取XML文件获得数据。这样我们就可以使用很简单的方法来对XML进行操作。
 例如:XML文档的结构如下:
 <?xml version='1.0' encoding='gb2312'?>
 <p>
  <Project ProjectFileName='E:\我的文档\2007\KR4Luxh\KR4Luxh.PrjPcb'/>
  <Document FileName ='E:\我的文档\2007\KR4Luxh\Documents\总电路图4.Sch'
  Organization='YD-350KR2HGE5'
  Address1='总电路图5'
  Address2='71-041075'
  Address3='刘作英5'
  Address4='魏占林5'
  Title='陈颉5'
  DocumentNumber=''
  Revision=''
  SheetNumber='0'
  SheetTotal='0'
  CurrentTime='*'
  CurrentDate='*'
  Time='*'
  Date='*'
  DocumentFullPathAndName='*'
  DocumentName='*'
  ModifiedDate='*'
  ApprovedBy='*'
  CheckedBy='*'
  Author='*'
  CompanyName='*'
  DrawnBy='*'
  Engineer='*'
  Rule='*'
  ImagePath='*'
  ConfigurationParameters='*'
  />
  <Document FileName ='E:\我的文档\2007\KR4Luxh\Documents\P板原理图4.Sch'
  Organization='YD-350KR2HGE4'
  Address1='总电路图4'
  Address2='71-041074'
  Address3='刘作英4'
  Address4='魏占林4'
  Title='陈颉4'
  DocumentNumber=''
  Revision=''
  SheetNumber='0'
  SheetTotal='0'
  CurrentTime='*'
  CurrentDate='*'
  Time='*'
  Date='*'
  DocumentFullPathAndName='*'
  DocumentName='*'
  ModifiedDate='*'
  ApprovedBy='*'
  CheckedBy='*'
  Author='*'
  CompanyName='*'
  DrawnBy='*'
  Engineer='*'
  Rule='*'
  ImagePath='*'
  ConfigurationParameters='*'
  />
 </p>
 我们将其保存为 SchFileTitle.XML。
 于是我们的程序可以这样来书写。
 Using System.XML
 在方法中
 XmlDocument m_XMLDoc;
 XmlNode     m_XmlNode;
 
 m_XMLDoc = New XmlDocument();
 m_XMLDoc.Load("SchFileTitle.XML")
 //得到所有的Document文档
 Foreach( m_XmlNode in m_XMLDoc.SelectNodes("/p/Document"))
 {
     string mFileName = "";
  string mOrganization = "";
  mFileName = m_XmlNode.Attributes("FileName").value;
  mOrganization = m_XmlNode.Attributes("Organization").value;
  ....  
 }
 //得到第一个Project文档
 m_XmlNode = m_XMLDoc.SelectSingleNode("/p/Project");
 //注意XPath中是要区分大小写的。
 
posted @ 2007-11-12 17:25  MichaeL  阅读(407)  评论(0编辑  收藏  举报