XDocument / XML / C#

0

Witam,
Poziom: newbie

Posiadam następujące zmienne:
x1, x2, x3.

Chce je zapisać do pliku XML o nazwie:
xyz

Napisałem oto taki kod w C#

XDocument xml_cip_c2 = new XDocument(
            new XComment("To jest plik xyz"),
            new XElement("Dzial dla x1, x2, x3",
                new XElement("to sie nazywa x1", x1),
                new XElement("to sie nazywa x2", x2),
                new XElement("to sie nazywa x3", x3),
                            )
            );


                xml_cip_c2.Save($"a/s/xyz.xml");  // Folder w rozwiązaniu .sln

W skrócie:

  • nie działa

Co nie działa:

  • poprawka:
    System.IO.DirectoryNotFoundException: 'Nie można odnaleźć części ścieżki

Czego oczekuje:

  • porady / pomocy
1
XDocument xml_cip_c2 = new XDocument(
            new XComment("To jest plik xyz"),
            new XElement("Dzial dla x1, x2, x3",
                new XElement("to sie nazywa x1", x1),
                new XElement("to sie nazywa x2", x2),
                new XElement("to sie nazywa x3", x3),
                            )
            );

               string fullPath = Path.Combine("a", "s", "xyz.xml");

                xml_cip_c2.Save(fullPath);  // Folder w rozwiązaniu .sln
0

Prawdopodobnie źle odwołuje się do ścieżki,

Jeżeli w xxx.sln mam vvv.csproj i w nim mam folder kkkk a w nim plik gggg.xml , jak prawidłowo powinienem się odwołać z poziomu programu .cs?

nie chce poprzez dysk (C/E etc.) bezpośrednio się odwoływać..

Gdy próbuje:
kkkk\gggg.xml

System.IO.DirectoryNotFoundException: 'Nie można odnaleźć części ścieżki
„C:\Users\HP....\kkkk\gggg.xml”.'

naprawdę

......\kkkk\gggg.xml
to może działać?

tak to działa. Dzięki!

czy .net core czy .net framework..
-WPP App. .NET Framework

Kolejna sprawa

Pytanie jak zapisać wartość zmiennej do pliku .xml, jest możliwość: zmienna.wartość znaleźć?

.cs:
new XElement("TO", zmienna)

.xml:
  <TO />

1
Michał Parzych napisał(a):

Kolejna sprawa

Pytanie jak zapisać wartość zmiennej do pliku .xml, jest możliwość: zmienna.wartość znaleźć?

.cs:
new XElement("TO", zmienna)

.xml:
  <TO />

Musisz jaśniej i trochę więcej napisać o problemie. To nie może być tak że mi bardziej zależy na jego rozwiązaniu niż Tobie. Masz na myśli istniejący już plik z drzewem XML, czy chcesz utworzyć nowy plik dla obiektu XML, podaj szerszy przykład zapisu i tworzenia obiektu.

A jak chodzi o pliki to możesz dopisywać nowe linie z nowymi obiektami, ale jak chcesz modyfikować coś w gotowym zapisie, to najlepiej usunąć plik i zapisać zmieniony obiekt/kolekcję w nowym pliku. Lepszego sposobu nie znam.

0
string zmienna = "dmcmsdcds";

.cs:
new XElement("TO", zmienna)

.xml:
  <TO />

formatka:
new XElement(XName name, object content)
name = "TO"

i tu chodzi mi o object content, chciałbym tam wrzucić zawartość zmiennej string czyli "dmcmsdcds",
i w finalnym kodzie xml, zapisuje się tylko XName, a object nie ma nic:
<TO />

1 użytkowników online, w tym zalogowanych: 0, gości: 1