Mazání v XML   zodpovězená otázka

C#, VB.NET, XML

Zdravim,

mám problém s mazáním v xml, vlastně nevím jak na to moje xml vypadá takto:

<?xml version="1.0" encoding="utf-8" ?>
<dvder>
  <kdo jmeno="Lojza Kudlák">
    <adresa>Husova 653, Kovářská</adresa>
    <kontakt>724118966</kontakt>
    <filmy>
      <film jmeno="60 Sekund" jazyk="Čeština" hd="SD" kdy="25.11.09" />
      <film jmeno="Kung Fu Panda" jazyk="Čeština" hd="SD" kdy="25.11.09" />
    </filmy>
  </kdo>
  <kdo jmeno="Petr Pil">
    <adresa>Vysoká 1156, Praha</adresa>
    <kontakt>474987524</kontakt>
    <filmy>
      <film jmeno="Yamakasi 2" jazyk="Angličtina" hd="HD" kdy="16.10.09" />
    </filmy>
  </kdo>
</dvder>

A já potřebuju programově smazat <kdo jmeno="Petr Pil">(nebo jiné které zaškrtnu v ListBoxu) i se vším co je uvnitř (adresa, kontakt, filmy...)

zkoušel jsem zapsat

doc.ParentNode.RemoveChild("/dvder/kdo" & (kdoLB.SelectIndex))

Ale to bohužel nefunguje

Za odpověď děkuji předem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Místo SelectIndex by mělo asi být SelectedIndex, a aby ten XPath dotaz byl správný, tak by měl vypadat /dvder/kdo[index]. V kódu vám tam chybí ty hranaté závorky, musíte je kolem indexu přidat.

A bach na to, že když není vybraná žádná položka, SelectedIndex je 0.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Bohužel mi to stále nefunguje, píše mi to , že hodnota typu string není překonvertována System.Xml.XmlNode

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Aha, no protože té funkci musíte cpát XmlNode a ne string, že ano.

Takže si nejdřív získejte přes funkci SelectSingleNode tu XmlNode z toho stringu a tu XmlNode předejte funkci Remove.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za odpověď, zítra vyzkouším...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No teď mi to píše že odkaz není nastaven na instanci objektu, už nevím co stím...

Jsem teprve v začátcích a todle je můj větší projekt a furt mi něco nejde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To znamená, že některý výraz vrátil hodnotu Nothing a vy se s ním snažíte pracovat. Chce se to naučit základy, než začnete dělat něco složitějšího.

Hledejte chybu na řádku, na kterém vám to spadne, podívejte se na hodnoty výrazů a proměnných. Pokud je tam někde hodnota Nothing, vidíte problém. Ve Visual Studiu by mělo stačit kód označit, kliknout na to pravým tlačítkem a vybrat Quick Watch.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback