Prima di tutto questo è C#. Sto creando un cruscotto di Internet per un piccolo gruppo di colleghi nel NHS. Di seguito è riportato un esempio di file xml in cui è necessario modificare il testo interno di. Devo sostituire un elemento specifico, ad esempio "Officina1". Poiché abbiamo alcuni workshop, non posso permettermi di utilizzare uno scrittore generale perché sostituirà tutte le informazioni sul documento XML con questo un bit di codice qui sotto.Sostituzione del testo interno di un nodo Xml/elemento
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
Sto usando un caso interruttore per selezionare un laboratorio specifico in cui è possibile cambiare il nome e aggiungere un URL del workshop e utilizzando questo codice qui sotto sostituirà l'intero documento.
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;
}
}
Quindi, solo per chiarire voglio che il mio programma C# per la ricerca attraverso il documento XML trovare l'elemento "Workshop 1" e sostituire l'InnerText con il testo da una casella di testo. ed essere in grado di salvarlo senza sostituire l'intero documento con un nodo. Grazie per aver guardato.
C'è un motivo per cui non si sta utilizzando l'XDocument o almeno l'API 'XmlDocument'? Solitamente si usa 'XmlReader' /' XmlWriter' se si devono elaborare * enormi * file XML. –
Beh, sono un po 'un novellino in C#. Quindi, per far funzionare il programma generale, sto mescolando codice e poi quando posso vederlo funzionare posso cambiare il codice per renderlo più efficiente. In questo modo posso imparare la differenza tra modi brutti e puliti di fare le cose e capire i vantaggi di entrambi. Tuttavia, grazie per la tua guida, cercherò di utilizzare XMLReader/XMLWriter ora. – Marshal
Il mio consiglio era di NON usare 'XmlReader' /' XmlWriter' ... –