在一个项目中要抓取XML文件的内容,其中XML文件的内容大致如下
<?xml version="1.0" encoding="utf-8"?> <cyber:AOI_INFO xmlns:cyber="http://www.cyberoptics.com/AOI/measure"> <UserName>SQSNS5017\CyberOptics</UserName> <SystemId>SQSNS5017</SystemId> <AOIVersion>4.11.1.37</AOIVersion> <InspectionType>Review</InspectionType> <PositionUnit>Millimeter</PositionUnit> <RotationUnit>Degree</RotationUnit> <XYOffsetReference>FeatureOrientation</XYOffsetReference> <Panel Id="513" Name="Panel" PanelStatus="Failed" Category="" StartTime="11/22/2020 18:03:48" EndTime="11/22/2020 18:04:33" LotCode="NewLot" LotSize="0" Barcode="#GEB(H)-1122A" NG_Stacker_SlotNumber="" SequenceNumber="" NumberOfBoardsInPanel="1"> <RecipeName>8.9AM_IC_LED_OP20_R1</RecipeName> <RecipeLastUpdateTime></RecipeLastUpdateTime> <CAD></CAD> <PanelResult> <Attributes> <DefectiveComponents Value="634" /> <DefectiveFeatures Value="634" /> <FalseFailComponents Value="0" /> <FalseFailFeatures Value="0" /> </Attributes> </PanelResult> 。。。。。。。
在C#中抓取XML文件
string path1 = path + @"\" + fileName;
XmlDocument doc = new XmlDocument();
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;//忽略文档里面的注释
XmlReader reader = XmlReader.Create(path1, settings);
doc.Load(reader);
XmlNamespaceManager nsp = new XmlNamespaceManager(doc.NameTable); //导入命名
nsp.AddNamespace("cyber", "http://www.cyberoptics.com/AOI/measure");
XmlNode xn = doc.SelectSingleNode("cyber:AOI_INFO/Panel", nsp);
//SPIXMLReader bookModel = new SPIXMLReader();
XmlNodeList xnl = xn.ChildNodes;
string id = xn.Attributes.GetNamedItem("Id").InnerText;
string barcode = xn.Attributes.GetNamedItem("Barcode").InnerText;
string starttime = xn.Attributes.GetNamedItem("StartTime").InnerText;
string endtime = xn.Attributes.GetNamedItem("EndTime").InnerText;
string recipename = xnl[0].InnerText;
string panelstatus = xn.Attributes.GetNamedItem("PanelStatus").InnerText;
reader.Close();
详细内容请看:https://www.cnblogs.com/enjoyprogram/p/3190789.html
原文:https://www.cnblogs.com/wanshiliang/p/14071175.html