
Curso de SharePoint 2007
http://www.desarrollaconmsdn.com/msdn/CursosOnline/Curso_SharePoint_2007/index.html

Curso de SharePoint 2007
http://www.desarrollaconmsdn.com/msdn/CursosOnline/Curso_SharePoint_2007/index.html
Se crean DataTables basándose en cada nodo del XML
public DataSet SetStringReaderStringXML(string xmlString)
{
DataSet dsXml = new DataSet();
try
{
StringReader stringReader = new StringReader(xmlString))
dsXml.ReadXml(stringReader);
return dsXml;
}
catch (Exception ex)
{ throw ex; }
}
Este método recorre un String que contiene código XML y pone los Elements en un DataTable
public DataTable SetDataTabletStringXML(string xmlString)
{
DataTable dt = new DataTable();
DataTable dtXml = dt;
DataRow drXml = dt.NewRow();
dtXml.Rows.InsertAt(drXml, 0);
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
foreach (XmlNode xmlNode in xmlDoc.DocumentElement.ChildNodes)
{
dtXml.Columns.Add(xmlNode.Name, typeof(string));
dtXml.Columns[xmlNode.Name].Table.Rows[0][xmlNode.Name] = xmlNode.InnerText;
}
return dtXml;
}
catch (Exception ex)
{ throw ex; }
}
Recorremos cada uno de los nodos y sus elementos del XML que contiene el string.
public void ReadXML(string xmlString)
{
// Este valor se recibe como parametro.
xmlString = @”<?xml version=’1.0′ encoding=’UTF-8′ standalone=’yes’?><NODOUNO><ElemUno>REF0003</ElemUno><ElemDos>denied</ElemDos><ElemTres>000046442</ElemTres</ NODOUNO >”;
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
string valor = “”;
string nombre = “”;
foreach (XmlNode xmlNode in xmlDoc.DocumentElement.ChildNodes)
{
nombre = xmlNode.Name;
valor = xmlNode.InnerText;
}
}
catch (Exception ex)
{ throw ex; }
}
Esta es una de tantas maneras de crear un archivo con código XML.
public string XML(string PathNameFile)
{
try
{
// Este valor lo recibe como parametro
PathNameFile = @”c:\myXML.xml”
FileStream oFile = new FileStream(PathNameFile, FileMode.Create);
// Establezco el archivo y la codificación al objeto XmlTextWriter
XmlTextWriter oXML = new XmlTextWriter(oFile, Encoding.UTF8);
//Elige una de estas dos opciones
// ———————————————————————–
//OPCION 1
// Pone texto en una sola liena
// Le indico que NO se cree con sangría los nodos del xml..
oXML.Formatting = Formatting.None;
//OPCION 2
// Pone texto estructurado
// Le indico que SI se cree con sangría los nodos del xml..
oXML.Formatting = Formatting.Indented;
// ——————————————————————-
oXML.WriteProcessingInstruction(“xml”, “version=\”1.0\” encoding=\”utf-8\”");
oXML.WriteStartElement(“myNodoPrincipal”);
oXML.WriteStartElement(“myNodoDatos”); //myNodoDatos
// Inserto etiquetas que no son necesario cerrar.
oXML.WriteElementString(“Nombre”, “Pancho”);
oXML.WriteElementString(“Apellido”, “Villa”);
oXML.WriteEndElement(); // myNodoDatos.
oXML.WriteStartElement(“myNodoDireccion “); // Abro myNodoDireccion.
// Inserto etiquetas que no son necesario cerrar.
oXML.WriteElementString(“Direccion”, “Centro”);
oXML.WriteElementString(“Numero”, “258″);
oXML.WriteStartElement(“myNodoEducacion”);//Abro myNodoEducacion.
oXML.WriteElementString(“Escuela”, “La Mejor”);
oXML.WriteElementString(“Carrera”, “General”);
oXML.WriteEndElement(); // myNodoEducacion
oXML.WriteEndElement(); // myNodoDireccion.
oXML.WriteEndElement(); // myNodoPrincipal.
oXML.Flush();
oFile.Close();
//Elige una de estas dos opciones
// ————————————————————
//OPCION 1
//Regresa un string con los datos del XML
StreamReader streamReader = new StreamReader(PathNameFile);
string text = streamReader.ReadToEnd();
return text;
//OPCION 2
//Regresara el path donde se guardo el archivo
return PathNameFile;
// ————————————————————
}
catch (Exception ex)
{ throw ex; }
}