J'essaye d'analyser un document XML qui stocke des données pour une carte dans mon jeu 2D. J'essaye de prendre cette étape par étape, j'ai chargé le dossier, crée un nouvel analyseur de document, et ai choisi une étiquette de début et un attribut que je veux tirer. Cependant quand je vérifie pour voir ce que la valeur de l'attribut devrait être (25) il sort comme zéro. Me dire qu'il me manque quelque chose et que je ne tire pas la valeur XML.Analyse XML en D
Ceci est le fichier XML en cours d'analyse: http://pastebin.com/tpUU1Wtv
void LoadMap(string filename)
{
enforce(filename != "" , "Filename is invalid!");
xmlData = cast(string) read(filename);
enforce(xmlData != "", "Read file Failed!");
}
void ParseMap()
{
auto xml = new DocumentParser(xmlData);
xml.onStartTag["map"] = (ElementParser e)
{
mapWidth = to!int(e.tag.attr["width"]);
};
xml.parse();
writeln("Map Width: ", mapWidth);
}
et si vous ne convertissez pas en 'int' qu'est-ce que' e.tag.attr ["width"] 'hold (et quels autres attr sont là) –
Il contient une chaîne vide en ce qui concerne writeln. Sous la balise de la carte:
Peut-être ajouter "e.parse();" après "mapWidth = ..." ligne? comme dans http://dlang.org/phobos/std_xml.html – Raxillan