有没有办法在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>
答案 0 :(得分:0)
你问了一个复杂的问题,很少描述你想要达到的目标。
我认为您想要做的是允许用户将XML文件上传到网页,然后我想使用AJAX将XML发送到服务器并让它返回JSON,这样您就可以使用它来填充相同的字段页。
您可以做的是创建一个HTTP处理程序(实现IHttpHandler)。使用特定URL(例如/services/sheetuploader.ashx)在web.config中注册该处理程序。
然后定义一个名为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...
}
然后,您可以使用System.Runtime.Serialization.DataContractSerializer对象将XML读入AuditSheet类的实例。请参阅ReadObject方法。您可以在Http Handler的ProcessRequest方法中执行此操作。
创建对象后,您可以使用System.Runtime.Serialization.Json.DataContractJsonSerializer及其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请求使用jQuery's AJAX方法。
希望我接近你真正想做的事情,这可以帮助你开始。
约阿夫。