private void ReadXMLFile(string Nom_Fichier)
{
FileStream fs = new FileStream(Nom_Fichier, FileMode.Open, FileAccess.Read);
// Lecture du Fichier XML
XmlTextReader read_xml = new XmlTextReader(fs);
string[] Num_Infos = new string[Nombre_d_Infos_que_vous_voulez_recuperer];
try
{
while (read_xml.Read())
{
// Attrape le premier des elements
if (read_xml.NodeType == XmlNodeType.Element && read_xml.Name == "Votre Element")
{
// scanne la ligne de l'element et récupère ses attributs
for(int i = 0; i < read_xml.AttributCount; i++)
{
Num_Infos[i] = read_xml.GetAttribut(i);
}
// cherche tous les noeuds enfants au premier element
while (read_xml.NodeType != XmlNodeType.EndElement)
{
read_xml.Read();
// Regarde si le noeud correspond à ce que vous voulez
if (read_xml.Name == "Votre Nom de noeud")
{
while (read_xml.NodeType != XmlNodeType.EndElement)
{
read_xml.Read();
if (read_xml.NodeType == XmlNodeType.Text) // Ici on prend du texte
{
Num_Infos[i+1] = read_xml.Value; // reprend la valeur du texte
}
}
}
}
// Suivant ce que vous voulez faire, c'est ici que vous envoyez les données lues (dans un contrôle (par exemple) ou autres chose)
}
}
// Booléen testant si le fichier lu est vide (lors de l'ouverture du fichier)
Fichier_Vide = false;
}
catch
{
MessageBox.Show("Fichier Vide");
read_xml.Close();
Fichier_Vide = true;
}
}
Remarque :
Ce code a été conçu pour mon programme à l'adresse suivante :
http://www.csharpfr.com/codes/GENERATEUR-SOUS-TITRE-XML_38706.aspx
Donc là ce code fonctionne mais tout est fait pour que vous puissiez rajouter des sous-noeuds aux noeuds , etc...
sans que vous ayez à changer grand chose dans le code
<script type="text/javascript">
function importerXML()
{
if (window.document.implementation && window.document.implementation.createDocument)
{
xmlDoc = window.document.implementation.createDocument("", "", null);
xmlDoc.onload = chargerFichierXML;
}
else if (window.window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.onreadystatechange = function () {if (xmlDoc.readyState == 4) createTable()};
}
else
{
alert('Votre navigateur ne supporte pas ce script');
return;
}
xmlDoc.load("nomFichier.xml");
}
function chargerFichierXML()
{
var racine = xmlDoc.getElementsByTagName("racine");
var enfants = racine[0].childNodes.length;
}
importXML();
//de preference mettre ca de cette facon <body onload="importXML();">
</script>