Nano Hash - криптовалюты, майнинг, программирование

Почтовый запрос XML из формы в Web Api

при создании приложения asp.net mvc возникает вопрос. Как я могу отправить XML из формы просмотра бритвы в контроллер Web Api. У меня есть эти классы:

namespace webapi.Models
{
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Runtime.Serialization;
    using System.Xml.Serialization;
    [DataContract(Name = "shepherd")]
    public partial class Shepherd
    {
        public Shepherd()
        {
            this.Sheep = new HashSet<Sheep>();
        }
        [DataMember(Name = "shepherdId")]
        public int Id { get; set; }
        [DataMember(Name = "name")]
        public string Name { get; set; }
        [DataMember(Name = "isDeleted")]
        public bool IsDeleted { get; set; }
        [DataMember(Name = "sheeps")]
        public virtual ICollection<Sheep> Sheep { get; set; }
    }
}
namespace webapi.Models
{
    using System;
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    using System.Xml.Serialization;
    [DataContract(Name = "sheep")]
    public partial class Sheep
    {
        [DataMember(Name = "id")]
        public int Id { get; set; }
        [DataMember(Name = "colour")]
        public string Colour { get; set; }
        [DataMember(Name = "createdon")]
        public DateTime CreatedOn { get; set; }
        public int Shepherd { get; set; }
        public virtual Shepherd Sh { get; set; }
    }
}

и этот вид бритвы

using (Html.BeginForm())
{
    <div id="createform" class="form-horizontal">
        @Html.EditorFor(x => x.Name)
        @Html.EditorFor(x => x.Sheep.FirstOrDefault().Colour)
        <input type="button" id="crate" value="Create" />
    </div>
}

как я могу опубликовать пастыря для этого действия в форме xml, а не в формате json, только в формате XML.

[ResponseType(typeof(Shepherd))]
        public async Task<IHttpActionResult> PostShepherd(Shepherd shepherd)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Shepherds.Add(shepherd);
            await db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = shepherd.Id }, shepherd);
        }

Ответы:


1

исправлено с запросом

var xml = '<shepherd xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/webapi.Models">' +
                 '<name>' + $("#Name").val() + '</name>' +
                 '<sheeps>' +
                 '<sheep>' +
                 '<colour>' + $("#Colour").val() + '</colour>' +
                 '</sheep>' +
                 '</sheeps>' +
                 '</shepherd>';
             $.ajax({
                 type: "POST",
                 url: "@Url.Action("Shepherds", "api")",
                 data: xml,
                 dataType: "xml",
                 contentType: "application/xml; charset=utf-8",
                 cache: false,
                 success:
                 function (xml) {
                     alert(xml);
                 },
                 error:
                 function (xml) {
                     alert("error");
                 }
             })
07.08.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..