2012-01-25 2 views
0

У меня есть программа с набором ссылок на сайт. Эти ссылки могут меняться в любое время, поэтому я хотел бы иметь возможность изменять ссылки во время выполнения, а затем сохранять их в файле XML, поэтому, когда я закрываю программу и снова ее открываю, она может загружать настройки из файла XML. Мне удалось записать в текстовый файл информацию, которую я хочу написать, однако я не уверен, как заменить определенную ссылку и имя, а также вызвать эту конкретную ссылку и имя и связать ее с кнопкой. Код ниже - это просто написать документ XML, если он еще не существует. Поэтому я еще не разработал или не написал форму, которая изменит отдельную ссылку.Textbox to XML & XML to textbox

private void button1_Click(object sender, EventArgs e) 
{ 
    { 
     XmlTextWriter writer = new XmlTextWriter("C:\\product.xml", System.Text.Encoding.UTF8); 
     writer.WriteStartDocument(true); 
     writer.Formatting = Formatting.Indented; 
     writer.Indentation = 2; 
     writer.WriteStartElement("Table"); 
     createNode("1", "Product 1", "1000", writer); 
     writer.WriteEndElement(); 
     writer.WriteEndDocument(); 
     writer.Close(); 
     MessageBox.Show("XML File created ! "); 
    } 
} 

private void createNode(string Buttons, string Workshop_name, string URL, XmlTextWriter writer) 
{ 
    writer.WriteStartElement("Buttons"); 
    writer.WriteStartElement("ButtonID"); 
    writer.WriteString(Buttons); 
    writer.WriteEndElement(); 
    writer.WriteStartElement("Workshop_name"); 
    writer.WriteString(Workshop_name); 
    writer.WriteEndElement(); 
    writer.WriteStartElement("URL"); 
    writer.WriteString(URL); 
    writer.WriteEndElement(); 
    writer.WriteEndElement(); 
} 

Я хочу быть чистым. Я хочу прочитать один узел из документа XML и записать его в текстовое поле, где кнопка затем может ссылаться на текстовое поле. Поскольку будет множество узлов с адресами электронной почты, я хочу знать, как сделать узел мне уникальным для других узлов.

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Table> 
    <Buttons> 
    <ButtonID>1</ButtonID> 
    <Workshop_name>Cerner Training</Workshop_name> 
    <URL>www.mlecerner.co.uk</URL> 
    </Buttons> 
    <Buttons> 
    <ButtonID>2</ButtonID> 
    <Workshop_name>Cerner Doctors</Workshop_name> 
    <URL>www.cernerdoctors.co.uk</URL> 
    </Buttons> 
</Table> 
+0

Вы не должны использовать 'XmlTextWriter' непосредственно, и вы должны заключить его в' using' блока: 'используя (XmlWriter писатель = XmlWriter .Create ("C: \\ product.xml")) {...} ' –

ответ

0

Смотрите мой пример здесь, на чтение/запись XML: https://stackoverflow.com/a/8899367/353147

+0

Большое спасибо. Я бы запустил его, но попал в ловушку. «ReplaceWith» появляется с ошибкой. Я пропустил ссылку? «System.Xml.Linq.XAttribute» не содержит определения для «ReplaceWith» и не используется метод расширения «ReplaceWith», принимающий первый аргумент типа «System.Xml.Linq.XAttribute» (вам не хватает директивы using или ссылка на сборку? – Marshal

+0

Хорошая добыча, думаю, я написал свой собственный. Я добавил ее к примеру, который я связал. –