só desculpa pela formatação do código eu o template do blogger e o FireFox não entramos em um acordo. logo vou corrigir.
1: //usando DataSet
2: public static bool alterarCampo(string path, int id, Parametro parametro)
3: {4: bool resultado = false;
5: DataSet dataSet = new DataSet();
6:
7: try
8: { 9: dataSet.ReadXml(path);10:
11: dataSet.Tables[0].DefaultView.RowFilter = "ID = " + id.ToString();
12: dataSet.Tables[0].DefaultView[0][parametro.Campo] = parametro.Valor; 13: dataSet.Tables[0].WriteXml(path);14:
15: resultado = true;
16: }17: catch (Exception)
18: {19:
20: resultado = false;
21: } 22: 23:
24: dataSet = null;
25: return resultado;
26: }27:
28: //Usando XPath
29: public static bool alterarCampo(string path, int id, Parametro parametro)
30: {31: bool resultado = false;
32: try
33: {34: StreamReader stream = new StreamReader(File.Open(path, FileMode.Open));
35: XmlDocument doc = new XmlDocument();
36:
37: string xPathStr = String.Format("/CATALOGO/LIVRO[ID = '{0}']", iclipping);
38: doc.LoadXml(stream.ReadToEnd()); 39: stream.Close();40: stream = null;
41:
42: XPathNavigator navigator = doc.CreateNavigator().SelectSingleNode(xPathStr); 43: XPathNavigator nCampo = navigator.SelectSingleNode(parametro.Campo);44:
45: //O elemento nao existe
46: if (nCampo == null)
47: {48: navigator.AppendChild(String.Format("<{0}>{1}</{0}>", parametro.Campo, parametro.Valor));
49: }50: else //logo existe
51: { 52: nCampo.SetValue(parametro.Valor); 53: }54:
55: FileStream fstream = File.Open(path, FileMode.Open); 56: doc.Save(fstream); 57: fstream.Close();58: resultado = true;
59: }60: catch (Exception)
61: {62: resultado = false;
63:
64: }65:
66: return resultado;
67: }| ModificarXML | alterarCampo(string path, int iclipping, Parametro parametro) | BOX71 | 22/01/09 11:26 | 22/01/09 11:26 | 00:00:00.3165278 | Xpath |
| ModificarXML | alterarCampo(string path, int iclipping, Parametro parametro) | BOX71 | 22/01/09 11:50 | 22/01/09 11:50 | 00:00:01.2892166 | DataSet |
Maquina : Intel 2140 2x1.6GHz 2GB Ram
Sem comentários:
Enviar um comentário