110,539
社区成员
发帖
与我相关
我的任务
分享
public static string Analyz_BTB(string filePath)
{
IsFileOccupied(filePath);
StringBuilder strbuilder = new StringBuilder();
strbuilder.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?> \n\r <Root> \n\r");
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs, Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)
{
strbuilder.Append(line);
}
strbuilder.Append("</Root>");
TextReader textReader = new StringReader(strbuilder.ToString());
XDocument doc = XDocument.Load(textReader);
XElement lastEle = doc.Descendants("ItemAlignmentData").Last();
//var AlignmentFids = lastEle.Element("AlignmentFidList").Elements("AlignmentFid");
var StretchFids = lastEle.Element("StretchFidList").Elements("StretchFid");
strbuilder.Clear();
foreach (var item in StretchFids)
{
BTB btb = new BTB();
btb.dateTime = lastEle.Attribute("dateTime").Value;
btb.boardFidName = item.Attribute("boardFidName").Value;
btb.stencilFidName = item.Attribute("stencilFidName").Value;
btb.locationX = item.Attribute("locationX").Value;
btb.locationY = item.Attribute("locationY").Value;
btb.stretchX = item.Attribute("stretchX").Value;
btb.stretchY = item.Attribute("stretchY").Value;
strbuilder.Append(JsonConvert.SerializeObject(btb));
}
sr.Close();
sr.Dispose();
fs.Close();
fs.Dispose();
GC.Collect();
return strbuilder.ToString();
}
/// <summary>
/// 查看文件是否被占用
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static bool IsFileOccupied(string filePath)
{
IntPtr vHandle = _lopen(filePath, OF_READWRITE | OF_SHARE_DENY_NONE);
CloseHandle(vHandle);
return vHandle == HFILE_ERROR ? true : false;
}