Laden...

Zwei Objekten zu einer XML

Erstellt von HerrOli vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.906 Views
H
HerrOli Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren
Zwei Objekten zu einer XML

Hallo
ich versuch gerade mich in XML einzuarbeiten und habe folgendes Programm:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using System.Xml;
using System.Xml.Serialization;

namespace test2
{
    class Program
    {
        static void Main(string[] args)
        {
           JObject o = JObject.Parse(@"{
                                          ""Stores"": [
                                            ""Lambton Quay"",
                                            ""Willis Street""
                                          ],
                                          ""Manufacturers"": [
                                            {
                                              ""Name"": ""Acme Co"",
                                              ""Products"": [
                                                {
                                                  ""Name"": ""Anvil"",
                                                  ""Price"": 50
                                                }
                                              ]
                                            },
                                            {
                                              ""Name"": ""Contoso"",
                                              ""Products"": [
                                                {
                                                  ""Name"": ""Elbow Grease"",
                                                  ""Price"": 99.95
                                                },
                                                {
                                                  ""Name"": ""Headlight Fluid"",
                                                  ""Price"": 4
                                                }
                                              ]
                                            }
                                          ]
                                        }");
           


            IList<string> storeNames = o.SelectToken("Stores").Select(s => (string)s).ToList();
            
            IList<string> firstProductNames = o["Manufacturers"].Select(m => (string)m.SelectToken("Products[0].Name")).ToList();

            XmlDocument doc = new XmlDocument();
            // ???

            Console.ReadLine();
        }
    }
}

nun meine Frage: Wie kann ich "storeNames" und "firstProductNames"
zu einer XML Datei machen?

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo HerrOli,

guck dir mal den XMLSerializer an.
Damit kannst du Daten in ein XML File serialisieren.
Guck mal hier: XML Serializer

Gruß
Michael

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo HerrOli,

wenn du Linq2Xml verwendest können alle Linq-Operationen wie Join, Union(All), etc. angewandt werden. Siehe LINQ to XML - 5 Minute Overview

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

H
HerrOli Themenstarter:in
16 Beiträge seit 2011
vor 12 Jahren

Danke erst mal an euch beiden

@michlG
Warum bekomme ich bei dem Beispiel die Fehlermeldung:> Fehlermeldung:

Auf 'test3.Program' kann aufgrund der Sicherheitsebene nicht zugegriffen werden. Nur öffentliche Typen können verarbeitet werden.

in der Zeile: serializer = new XmlSerializer(typeof(Person)); ?
(Verwende MS VS2008 Express Edition)

@gfoidl
Danke für den Link
werde ich mir morgen in Ruhe mal anschauen

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo,

entweder du hast die Person-Klasse gar nicht erstellt, oder sie ist nicht zugänglich.
Im typeof gibst du an welchen Typ Objekt du serialisieren willst.

Siehe: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

Gruß
Michael

S
248 Beiträge seit 2008
vor 12 Jahren

Hallo HerrOli,

die Klasse "Person" muss public sein.

spooky