2010-02-21 7 views
2

Si j'ai un fichier xml comme ceci:visual studio 2008 étendu C# IntelliSense

<?xml version="1.0" ?> 
<CATALOG> 
    <TITLE>Title1</TITLE> 
    <COUNTRY>USA</COUNTRY> 
</CATALOG> 

puis-je appeler balise de catalogue comme un nom de classe de IntelliSense quand je modifier l'application C#? et son enfant Title1 et USA?

Exemple avec IntelliSense VS 2008 C#:

1) System.DateTime.Now;

2) et dans mon cas: Catalogue Catalog.Title1 Catalog.USA

et la chose importante MOST: Je ne ai pas besoin d'avoir des références d'assemblage ou pas de cours mis en œuvre. Je dois résoudre cette tâche uniquement avec des fichiers xml sans DLL ou classes. C'est possible? et comment?

Merci!

+0

Je suis désolé mais je n'ai absolument aucune idée de ce dont vous parlez. Pouvez-vous reformuler la question d'une façon ou d'une autre? Sinon, cela sera probablement fermé. – Josh

Répondre

-2

Ce n'est pas possible sans le coder soi-même dans une classe wrapper. Le plus proche, vous l'obtiendrez linq à xml, mais bien sûr, c'est un assemblage que vous auriez besoin de vous inscrire!

2

vous pouvez faire quelque chose comme suit

XDocument catalogueXml 
        = XDocument.Load("books.xml"); 
    CatalogItem item = (from catalog in 
            catalogueXml.Descendants("CATALOG") 
         select new CatalogItem 
         { 
         Name = catalog.Element("TITLE").Value, 
         Country = catalog.Element("COUNTRY").Value 
         }).FirstOrDefault(); 

vous pouvez toujours obtenir objet anonyme, mais mieux d'avoir une classe définie

public class CatalogItem 
{ 
    public string Name { get; set; } 
    public string Country { get; set; } 
} 

pour processus étape par étape et une meilleure visibilité, c'est un must ont lu

Questions connexes