XML - zamiana znaków specjalnych

0

Witam
Mam problem nigdzie nie mogę się doszukać jak w wygenerowanym pliku .xml zmienić znaki specjalne na encje:
& – &amp
< – &lt
> – &gt
" – &quot
' – &apos
Ma może ktoś funkcję, która to robi?Bo już niemam siły do tego :(

Drugie pytanie:
Mam klasę wygenerowaną xsd.exe..Klasa buduje na podstawie rekordu w bazie. I wszystko jest ładnie gdyby nie to że generuje tylko dla jednego zaznaczonego rekordu. Co zmienić aby możliwe było "kilka" xml w jednym?Czy to się robi przy serializacji? Bardzo proszę o pomoc....

1

Zwykły String.Replace nie wystarczy?

0

ale to mowisz o replace zanim utworze xml...troche duzo if-ów...chodzi mi żeby sparsować xml i zamienić (bez zamieniania znaczników xml-a <>)...

0

Jakich ifów? Robisz string.Replace albo lepiej StringBuilder.Replace i już.
Opisz może dokładniej swój problem.

0

Chodzi o pozbycie sie "Escape chars" w pliku xml zgodnie z zasadami XML...czyli o zastąpienie tych znaków które napisałem w 1 poście...czy trzeba to robić budując xml i każdą zmienną wpisywaną do xml sprawdzać czy nie zawiera znaku czy jest jakis sposób gdzie można otworzyć xml-a i zamienić te znaki...i tu taki problem bo w xml są znaczniki <> ktore są również znakami specjalnymi

0

jezeli uzywasz klas w stylu XmlDocument/XmlElement/XmlNode, to one juz to zrobia za Ciebie. ustaw ich .text na "&>&>&><&>&" i jak zapiszesz XmlDocument do pliku, okaze sie ze samo sobie poradzilo. Po to sa takie klasy.. XmlReader/XmlWriter tez to powinien za Ciebie robic, acz w jego przypadku nie pamietam czy tak jest. Zdziwilbym sie gdyby nie bylo.

A nawet jak nie ma lub ich nie uzywasz, to mozesz byc pewien, ze gdzies w namespace System.Xml jest jakas klasa-helper ktora ma statyczne dwie metody sluzace do tlumaczenia str->na->entities i vice versa.. nazwy nie podam, znowu nie pamietam..

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