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