Visual Studio 2008 расширен C # Intellisense - PullRequest
2 голосов
/ 21 февраля 2010

Если у меня есть XML-файл, подобный этому:

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

можно ли назвать тег Catalog как имя класса из intellisense при редактировании приложения на c #? и его ребенок Титул 1 и США?

Пример с intellisense VS 2008 c #:

1) System.DateTime.Now;

2) и в моем случае: Каталог Catalog.Title1 Catalog.USA

и самое важное: мне не нужно иметь ссылки на ассемблер или реализованные классы. Я должен решить эту задачу только с XML-файлами без DLL или классов. Возможно? и как?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 21 февраля 2010

вы можете сделать что-то следующим образом

 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();

вы все еще можете получить анонимный объект, но лучше иметь определенный класс

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

для пошагового процесса и лучшего понимания, это должно быть прочитано

0 голосов
/ 21 февраля 2010

Это невозможно без написания кода в классе-обёртке. Ближе всего вы получите linq to xml, но, конечно, это сборка, которую вам нужно зарегистрировать!

...