C# 上载+读取xml并用值填充表单中的字段

C# 上载+读取xml并用值填充表单中的字段,c#,jquery,xml,json,C#,Jquery,Xml,Json,有没有一种方法可以在c中上传xml并使用jquery将值映射到特定的文本框 <?xml version="1.0" encoding="ISO-8859-1"?> <AuditSheet> <CustomerInfo> <CustomerName></CustomerName> <PlantSiteName></PlantSiteName> <SystemName></SystemName>

有没有一种方法可以在c中上传xml并使用jquery将值映射到特定的文本框

<?xml version="1.0" encoding="ISO-8859-1"?>
<AuditSheet>
<CustomerInfo>
<CustomerName></CustomerName>
<PlantSiteName></PlantSiteName>
<SystemName></SystemName>
<PhysicalAddress1></PhysicalAddress1>
<PhysicalAddress2></PhysicalAddress2>
</CustomerInfo>
</AuditSheet>

你问了一个复杂的问题,几乎没有描述你到底想要实现什么

我认为您要做的是允许用户将XML文件上载到网页,然后我猜使用AJAX将XML发送到服务器,并让它返回JSON,以便您可以使用它填充同一页面上的字段

您可以做的是创建一个实现IHttpHandler的HTTP处理程序。在web.config中使用特定URL注册该处理程序,例如/services/sheetuploader.ashx

然后定义一个名为AuditSheet和CustomerInfo的类,用DataContract属性修饰它们,并用DataMember属性标记与AuditSheet XML元素匹配的成员

比如:

[DataContract]
public class AuditSheet
{
   [DataMember]
   public CustomerInfo CustomerInfo{get; set;}
}

[DataContract]
public class CustomerInfo
{
   [DataMember]
   public string CustomerName {get;set;}

   //rest of the members go here...
}
然后可以使用该对象将XML读入AuditSheet类的实例中。请参阅ReadObject方法以执行此操作。您可以在Http处理程序的ProcessRequest方法中执行此操作

创建对象后,您可以使用及其WriteObject方法序列化为JSON

要将JSON发送回客户机,请将以下内容添加到ProcessRequest方法

context.Response.ContentType = "text/json";
context.Response.Write(ConvertToJson(auditSheet)); //auditSheet is an instance of AuditSheet read from XML
要将XML发送到服务器,可以使用使用POST请求的方法

希望我接近你真正想要做的,这能帮助你开始


Yoav.

为什么你的问题用json标记?你在说什么应用程序?ASP.NET、WinForms、Silverlight、WPF等。。。?“上传”是指用户上传的东西?@DarinDimitrov,因为我想在上传后将xml转换为json,并将值放在不同的文本框中。Asp.net。上载XML。为什么要将XML转换为JSON?为什么需要JSON来填充文本框中的值?@DarinDimitrov我不需要,但我想这样更容易。XML有静态模式吗?如果是,它看起来怎么样?如果没有,您希望如何执行映射?