| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | 
							- using PTMedicalInsurance.Variables;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Text.RegularExpressions;
 
- using System.Threading.Tasks;
 
- using System.Xml;
 
- using System.Xml.Linq;
 
- using System.Xml.XPath;
 
- namespace PTMedicalInsurance.Helper
 
- {
 
-     class XmlHelper
 
-     {
 
-         /// <summary>
 
-         /// 组织中心入参
 
-         /// </summary>
 
-         /// <param name="infno"></param>
 
-         /// <param name="input"></param>
 
-         /// <returns></returns>
 
-         public  string setInput(XElement xInput)
 
-         {
 
-             XDocument XDoc = new XDocument();
 
-             XDoc.Add(xInput);
 
-             XDoc.Declaration = new XDeclaration("1.0", "GBK", "yes");
 
-             return XDoc.ToStringWithDeclaration(); //扩展方法 https://learn.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/extension-methods
 
-         }
 
-         /// <summary>
 
-         /// 根据JSonPath查找节点值,如果节点不存在则返回空值
 
-         /// </summary>
 
-         /// <param name="jo"></param>
 
-         /// <param name="jsonPath"></param>
 
-         /// <returns></returns>
 
-         public  string getDestValue(string source, string destPath)
 
-         {
 
-             try
 
-             {
 
-                 XDocument XDoc = XDocument.Parse(source);
 
-                 XElement XDest = XDoc.XPathSelectElement(destPath);
 
-                 if (XDest != null)
 
-                     return XDest.Value;
 
-                 else
 
-                     return "节点为空!";
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return "查找XML节点异常:" + ex.Message;
 
-             }
 
-         }
 
-         public  string ToJSON(string source)
 
-         {
 
-             string json = "";
 
-             try
 
-             {
 
-                 source = Regex.Replace(source, "<row",
 
-               "<row xmlns:json=\"http://james.newtonking.com/projects/json\" json:Array=\"true\" ", RegexOptions.IgnoreCase);
 
-                 XDocument xDoc = XDocument.Parse(source);
 
-                 json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(xDoc.ToXmlDocument());
 
-                 return json;
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return "转换异常:" + ex.Message;
 
-             }
 
-             finally
 
-             {
 
-                 Global.writeLog("XMLToJSON", source,json);
 
-             }
 
-         }
 
-         public string ToXML(string jsonSource)
 
-         {
 
-             try
 
-             {
 
-                 XmlDocument xe = Newtonsoft.Json.JsonConvert.DeserializeXmlNode(jsonSource);
 
-                 return xe.OuterXml;
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return "转换异常:" + ex.Message;
 
-             }
 
-         }
 
-     }
 
-    
 
-     public static class MyExtensions
 
-     {
 
-         /// <summary>
 
-         /// Doc输出无声明,强行补上
 
-         /// </summary>
 
-         /// <param name="doc"></param>
 
-         /// <returns></returns>
 
-         public static string ToStringWithDeclaration(this XDocument doc)
 
-         {
 
-             return doc.Declaration.ToString() + Environment.NewLine + doc.ToString();
 
-         }
 
-         /// <summary>
 
-         /// 无缩进格式(压缩格式)
 
-         /// </summary>
 
-         /// <param name="doc"></param>
 
-         /// <returns></returns>
 
-         public static string ToCompressString(this XDocument doc)
 
-         {
 
-             return doc.Declaration.ToString()  + doc.ToString(SaveOptions.DisableFormatting);
 
-         }
 
-         public static XmlDocument ToXmlDocument(this XDocument xDocument)
 
-         {
 
-             var xmlDocument = new XmlDocument();
 
-             using (var xmlReader = xDocument.CreateReader())
 
-             {
 
-                 xmlDocument.Load(xmlReader);
 
-             }
 
-             return xmlDocument;
 
-         }
 
-         public static XDocument ToXDocument(this XmlDocument xmlDocument)
 
-         {
 
-             using (var nodeReader = new XmlNodeReader(xmlDocument))
 
-             {
 
-                 nodeReader.MoveToContent();
 
-                 return XDocument.Load(nodeReader);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |