Po pierwsze jest to C#. Tworzę pulpit nawigacyjny dla małej grupy osób w NHS. Poniżej znajduje się przykładowy plik xml, w którym muszę zmienić tekst innertext. Muszę zastąpić konkretny element, na przykład "Warsztat1". Ponieważ mamy kilka warsztatów, nie mogę sobie pozwolić na używanie pisarza ogólnego, ponieważ zastąpi on wszystkie informacje zawarte w dokumencie XML tym jednym kodem poniżej.Wymiana innertext węzła/elementu Xml
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
Używam przypadek przełącznika aby wybrać konkretny warsztat, w którym można zmienić nazwę i dodać adres URL warsztacie i przy użyciu tego kodu poniżej zastąpi cały dokument.
public void XMLW()
{
XmlTextReader reader = new XmlTextReader("C:\\myXmFile.xml");
XmlDocument doc = new XmlDocument();
switch (comboBox1.Text)
{
case "button1":
doc.Load(reader); //Assuming reader is your XmlReader
doc.SelectSingleNode("buttons/workshop1").InnerText = textBox1.Text;
reader.Close();
doc.Save(@"C:\myXmFile.xml");
break;
}
}
Więc po prostu chcę, aby wyjaśnić mój program C#, aby przeglądać dokument XML znaleźć element „Workshop1” i zastąpić innerText tekst z pola tekstowego. i móc go zapisać bez zastępowania całego dokumentu jednym węzłem. Dzięki za spojrzenie.
Czy istnieje powód, dla którego nie używasz API 'XDocument' lub przynajmniej' XmlDocument'? Zwykle używasz 'XmlReader' /' XmlWriter', jeśli musisz przetwarzać * ogromne * pliki XML. –
Cóż, jestem trochę początkujący w C#. Aby uruchomić ogólny program, łączę kod razem, a kiedy widzę, że działa, mogę zmienić kod, aby był bardziej wydajny. W ten sposób mogę nauczyć się różnicy pomiędzy brzydkimi i czystymi sposobami robienia rzeczy i zrozumieć zalety obu. Jednak dziękuję za wskazówki, będę teraz używać XMLReader/XMLWriter. – Marshal
Moja rada była taka, aby NIE używać 'XmlReader' /' XmlWriter' ... –