簡體   English   中英

如何在asp.net mvc上將字符串解析為xml並將其輸出?

[英]How to parse string to xml at asp.net mvc and output it?

我正在尋找在xml輸出中解析一些輸入文本的可能性。

這樣的工具XmlSerializer並沒有幫助我,我也不知道如何在視圖中輸出xml。

感謝您的任何幫助。

有一個簡單的字符串輸入模型:

[XmlRoot("Text")]
public class StringModel
{
    public int InputStringId { get; set; }
    [XmlElement("Sentence")]
    public string InputString { get; set; }
}

控制器,我曾嘗試使用XMLSerialized,但無法正常工作

public class StringController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
    [HttpPost]
    public ActionResult GetString(List<StringModel> line)
    {
        if (ModelState.IsValid)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(List<StringModel>));
            using (StreamWriter sw = new StreamWriter(@"D:StringModel.xml"))
            {
                serializer.Serialize(sw, line);
            }
        }
        return View();
    }

該類將生成一個XML文件,可能會為您提供一些指導。

  public static class XMLOutput
    {
        public static void XMLProductOutput(product product, string path) {

            using (XmlWriter xmlWriter = XmlWriter.Create(path))
            {
                xmlWriter.WriteStartDocument();
                xmlWriter.WriteStartElement("Envelope");
                xmlWriter.WriteStartElement("ProductMasterUpdate");
                xmlWriter.WriteElementString("ProdCode", product.ProdCode.ToString());
                xmlWriter.WriteElementString("Length", product.Length.ToString() ?? String.Empty.ToString());
                xmlWriter.WriteElementString("Width", product.Width.ToString() ?? String.Empty.ToString());
                xmlWriter.WriteElementString("Lip", product.Height.ToString() ?? String.Empty.ToString());
                xmlWriter.WriteElementString("MatCat", product.MATCATEGORY.ToString());
                xmlWriter.WriteElementString("UPC1", product.UPCCODE ?? String.Empty.ToString());
                xmlWriter.WriteElementString("UPC2", product.UPCCODE2 ?? String.Empty.ToString());
                xmlWriter.WriteElementString("UPC3", product.UPCCODE3 ?? String.Empty.ToString());
                xmlWriter.WriteElementString("PLU", product.PLU ?? String.Empty.ToString());
                xmlWriter.WriteElementString("ManufacturerCode", product.ManufacturerCode.ToString() ?? String.Empty.ToString());
                xmlWriter.WriteElementString("Specs", product.SpecComments ?? String.Empty.ToString());

                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndDocument();
            }
        }
    }

不過,我對您要完成的目標並不完全清楚。 也許您想在視圖中顯示它?

XDocument doc = XDocument.Parse(@"D:StringModel.xml");
ViewData[xmlData] = doc.ToString();

然后,您可以在視圖中

XDocument.Parse(ViewData[xmlData]).ToString()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM