protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ParseXml2Json(@"C:\Users\Administrator\Desktop\response.txt");
}
}
public static string ParseXml2Json(string xmlpath)
{
try
{
StreamReader sreader = new StreamReader(xmlpath);
string content = sreader.ReadToEnd();
content = "<root>" + content.Substring(content.IndexOf("<LisResult>"));
content = content.Substring(0,content.LastIndexOf("</LisResult>")+12)+ "</root>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(content);
DataSet ds = new DataSet();
ds.ReadXml(new XmlTextReader(new StringReader(xmlDoc.OuterXml.ToString().Trim())));
DataTable dt = ds.Tables["LisResult"];
List<VMModel> db_list = new List<VMModel>();
foreach (DataRow item in dt.Rows)
{
VMModel db_model = new VMModel();
db_model.ApplyNo = item.ItemArray[0] + "";
db_model.ExecTime = item.ItemArray[1] + "";
db_model.CureNo = item.ItemArray[2] + "";
db_model.PatName = item.ItemArray[3] + "";
db_model.ItemCode = item.ItemArray[4] + "";
db_model.ItemName = item.ItemArray[5] + "";
db_model.RESULT = item.ItemArray[6] + "";
db_model.ResultValue = item.ItemArray[7] + "";
db_model.UNIT = item.ItemArray[8] + "";
db_model.HIGHLOWFLAG = item.ItemArray[9] + "";
db_model.pubdatetime = item.ItemArray[10] + "";
db_list.Add(db_model);
}
string aaa = "";
}
catch (Exception ex)
{
}
return "";
}
public class VMModel
{
public string ApplyNo { get; set; }
public string ExecTime { get; set; }
public string CureNo { get; set; }
public string PatName { get; set; }
public string ItemCode { get; set; }
public string ItemName { get; set; }
public string RESULT { get; set; }
public string ResultValue { get; set; }
public string REFERENCERANGE { get; set; }
public string UNIT { get; set; }
public string HIGHLOWFLAG { get; set; }
public string pubdatetime { get; set; }
}
如果报有太多根节点,那么,再追加一个根节点即可正常解析,具体原因敬请百度,