C# LINQ XML osztály

C# LINQ XML osztály
2018-01-28T11:42:38+01:00
2018-01-29T09:07:26+01:00
2022-12-05T01:35:34+01:00
szigetiji
Sziasztok!

Létrehoztam egy XML fájlt LINQ felhasználásával.

namespace LINQ_XML { class Program { static void Main(string[] args) { XDocument xmlDocument = new XDocument( new XDeclaration("1.0", "ISO-8859-2", null), new XElement("obp", new XAttribute("verzio", "2.02"), new XAttribute("oepkod", "xxxx"), new XAttribute("idoszak", "201801"), new XElement("orvos", new XAttribute("kod", "12345"), new XAttribute("nev", "Dr. Proba Proba"), new XElement("szakvizsga", new XElement("vizsga", // több szakvizsga sor is lehet new XAttribute("mokkod", "123"), new XAttribute("megszerezve", "2018.01.01"), new XAttribute("kezd", "2018.01.01"), new XAttribute("veg", ""))), new XElement("intezmeny", new XAttribute("belepett", "2018.01.01."), new XAttribute("kilepett", ""), new XElement("egyseg", new XAttribute("finkod", "110120100"), new XAttribute("szakorvos", "I"), new XElement("jogallas", new XAttribute("kod", "M"), new XAttribute("hetiora", "20"), new XAttribute("kezd", "2018.01.01."), new XAttribute("veg", ""), new XElement("utalv", // maximum 6 sor lehet ( B | E | G | K | S | T ) #REQUIRED new XAttribute("jog", "B"), new XAttribute("kezd", "2018.01.01"), new XAttribute("veg", "")))))))); xmlDocument.Save("obp.xml"); /* DTD séma <!ELEMENT obp (orvos+) > <!ATTLIST obp verzio NMTOKEN #REQUIRED > <!ATTLIST obp oepkod NMTOKEN #REQUIRED > <!ATTLIST obp idoszak NMTOKEN #REQUIRED > <!ELEMENT orvos ( szakvizsga | intezmeny )* > <!ATTLIST orvos kod NMTOKEN #REQUIRED > <!ATTLIST orvos nev CDATA #REQUIRED > <!ELEMENT szakvizsga ( vizsga+ ) > <!ELEMENT vizsga EMPTY > <!ATTLIST vizsga kezd NMTOKEN #REQUIRED > <!ATTLIST vizsga megszerezve NMTOKEN #REQUIRED > <!ATTLIST vizsga mokkod NMTOKEN #REQUIRED > <!ATTLIST vizsga veg CDATA #REQUIRED > <!ELEMENT intezmeny ( egyseg* ) > <!ATTLIST intezmeny belepett NMTOKEN #REQUIRED > <!ATTLIST intezmeny kilepett CDATA #REQUIRED > <!ELEMENT egyseg ( jogallas+ ) > <!ATTLIST egyseg finkod NMTOKEN #REQUIRED > <!ATTLIST egyseg szakorvos NMTOKEN #REQUIRED > <!ELEMENT jogallas ( utalv* ) > <!ATTLIST jogallas kod ( H | K | M | S ) #REQUIRED > <!ATTLIST jogallas hetiora NMTOKEN #REQUIRED > <!ATTLIST jogallas kezd NMTOKEN #REQUIRED > <!ATTLIST jogallas veg CDATA #REQUIRED > <!ELEMENT utalv EMPTY > <!ATTLIST utalv jog ( B | E | G | K | S | T ) #REQUIRED > <!ATTLIST utalv kezd NMTOKEN #REQUIRED > <!ATTLIST utalv veg CDATA #REQUIRED > */ } } }

A létrejött XML fájl alapján próbáltam létrehozni egy kezelő osztályt, amivel tudnám az adatokat változtatni. (módosítás, új orvos beszúrás, törlés)

A problémám, hogy a legtöbb gyökérelem több attribútummal rendelkezik de ezt még talán meg tudom oldani valahogy így:

string kod; string nev; public string Kod { get{ return kod; } set{ kod = value} } public string Nev { get{ return nev; } set{ nev = value;} } XElement(„orvos”, new XAttribute(„kod”, Kod), new XAttribute(„nev”, Nev),

Az igazi probléma a séma alapján a több sorban megadható „vizsga” vagy az „utalv” gyökérelem.

Kérném segítségeteket, a problémám megoldásában.

Köszönöm: szigetiji
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd