Как вернуть XML-файл для метода веб-службы в asp.net

Я хотел бы вернуть XML-файл в качестве вывода метода веб-службы в asp.net. Может ли кто-нибудь помочь с примером.

Это метод веб-службы, который я сделал. Но когда я вызываю метод «Хай», я получаю сообщение об ошибке. Ошибка, которую я получил, приведен ниже:

There is an error in xml Document(1,287).

[WebMethod]
public XElement hai()
{
    try
    {


        XElement xmlTree1 = new XElement("Root",
                            new XElement("Child1", 1),
                            new XElement("Child2", 2),
                            new XElement("Child3", 3),
                            new XElement("Child4", 4),
                            new XElement("Child5", 5),
                            new XElement("Child6", 6)
        );

        return xmlTree1;
    }
    catch
    {
        throw;
    }
}
1
nl ja de
Вы можете увидеть следующую ссылку. stackoverflow.com/questions/3000934/& hellip;
добавлено автор Prashant Mehta, источник
FYI, знаете ли вы, что ASMX не следует использовать для новой разработки?
добавлено автор John Saunders, источник

1 ответы

Кроме того, вы можете вернуть XmlDocument :

[WebMethod]
public XmlDocument hai()
{
        XmlDocument doc = new XmlDocument();

        XmlNode rootNode = doc.CreateElement("products");
        doc.AppendChild(rootNode);

        XmlNode product1Node = doc.CreateElement("product");
        rootNode.AppendChild(product1Node);

        XmlNode product1NameNode = doc.CreateElement("Name");
        product1NameNode.InnerText = "Product 1";
        product1Node.AppendChild(product1NameNode);
        XmlNode product1ColorNode = doc.CreateElement("Color");
        product1ColorNode.InnerText = "Blue";
        product1Node.AppendChild(product1ColorNode);

        XmlNode product2Node = doc.CreateElement("product");
        rootNode.AppendChild(product2Node);

        XmlNode product2NameNode = doc.CreateElement("Name");
        product2NameNode.InnerText = "Product 2";
        product2Node.AppendChild(product2NameNode);
        XmlNode product2ColorNode = doc.CreateElement("Color");
        product2ColorNode.InnerText = "Yellow";
        product2Node.AppendChild(product2ColorNode);

        return doc;
}

<�Сильный> Вывод:

<?xml version="1.0" encoding="UTF-8"?>

    
        Product 1
        Blue
    
    
        Product 2
        Yellow
    

0
добавлено
Как это поможет OP использовать другую технологию XML?
добавлено автор John Saunders, источник
OP уже использует XElement. Как XmlElement будет лучше?
добавлено автор John Saunders, источник
Я просмотрел историю изменений. Мой ответ пришел до того, как у ОП была какая-то деталь в вопросе. Он только сказал «как мне вернуть XML-файл». Через два дня OP добавил код, показывающий, что он пытался сделать (и как он пытался позвонить службе). Кажется, я не заметил этого изменения. Это редактирование показывает (немного), какую ошибку получил OP, но ни один из наших ответов не касается ошибки. Вот почему я просто удалил свой ответ.
добавлено автор John Saunders, источник
Я все еще не понимаю, как вы помогаете OP, просто показывая, что есть альтернативный способ сделать то же самое, что он уже делает. Это особенно верно, так как ваш путь использует более старую технологию, которая не так проста в использовании. Особенно после всего этого времени, без каких-либо оснований полагать, что OP ищет альтернативные технологии XML, я еще стоит моим downvote.
добавлено автор John Saunders, источник
OP хочет вернуть xml из веб-службы независимо от технологии XML, поскольку он не указывает ее.
добавлено автор GeorgeChond, источник
Я никогда не говорил, что XmlDocument лучше, чем XElement. Я просто сказал, что это альтернативный способ сделать это. Ваш ответ еще хуже, OP хочет сгенерировать xml (он пытался достичь этого в своем примере кода + упомянул его в комментариях ниже вашего ответа) и вернуть его. Ваш код просто загружает файл и возвращает его. И ты один из моих ответов? Шутки в сторону?
добавлено автор GeorgeChond, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)