Trước hết là C#. Tôi đang tạo một bảng điều khiển internet cho một nhóm nhỏ các đồng nghiệp trong NHS. Dưới đây là một tệp ví dụ xml mà tôi cần phải thay đổi nội dung trong đó. Tôi cần phải thay thế một phần tử cụ thể, ví dụ như "Workshop1". Bởi vì chúng tôi có một vài cuộc hội thảo, tôi không thể đủ khả năng để sử dụng một nhà văn nói chung bởi vì nó sẽ thay thế tất cả các thông tin trên tài liệu XML bằng một chút mã dưới đây.Thay thế innertext của một nút/phần tử Xml
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
Tôi đang sử dụng một trường hợp chuyển sang chọn một hội thảo cụ thể mà bạn có thể thay đổi tên và thêm một địa chỉ URL của hội thảo và sử dụng mã này dưới đây sẽ thay thế toàn bộ tài liệu.
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;
}
}
Vì vậy, chỉ cần làm rõ tôi muốn chương trình C# của tôi tìm kiếm qua tài liệu XML tìm phần tử "Workshop1" và thay thế innertext bằng văn bản từ hộp văn bản. và có thể lưu nó mà không thay thế toàn bộ tài liệu bằng một nút. Cảm ơn bạn đã tìm kiếm.
Có lý do nào khiến bạn không sử dụng 'XDocument' hoặc ít nhất là API' XmlDocument' không? Bạn thường chỉ sử dụng 'XmlReader' /' XmlWriter' nếu bạn phải xử lý các tệp * lớn * XML. –
Vâng tôi là một chút của một newbie trong C#. Vì vậy, để có được chương trình chung chạy tôi bashing mã với nhau và sau đó khi tôi có thể nhìn thấy nó làm việc tôi có thể thay đổi mã để làm cho nó hiệu quả hơn. Atleast theo cách này tôi có thể tìm hiểu sự khác biệt giữa những cách xấu xí và sạch sẽ của việc làm và hiểu được những lợi thế của cả hai. Tuy nhiên cảm ơn bạn đã hướng dẫn của bạn, tôi sẽ xem xét để sử dụng XMLReader/XMLWriter bây giờ. – Marshal
Lời khuyên của tôi là KHÔNG sử dụng 'XmlReader' /' XmlWriter' ... –