上传和读取XML,并用值填充表单中的字段

本文关键字:填充 表单 字段 读取 XML | 更新日期: 2023-09-27 18:11:48

是否有一种方法可以在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,并用值填充表单中的字段

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

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

你能做的是创建一个HTTP处理程序(实现IHttpHandler)。在您的web中注册该处理程序。配置一个特定的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...
}

你可以使用system . runtime . serialize . datacontractserializer对象将XML读取到AuditSheet类的实例中。具体请参见ReadObject方法。您可以在Http处理程序的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到服务器,你可以使用jQuery的AJAX方法使用POST请求。

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

Yoav .