myfusion Ответов: 3

как прочитать следующий xml-файл в dataset


<Bookmark>
  <Title Action="GoTo" >
    1. Cacor Corporation
    <Title  Action="GoTo" >1.1. Direct Sighting Compass</Title>
    <Title  Action="GoTo" >1.2. Dive Computer</Title>
    <Title  Action="GoTo" >1.3. Navigation Compass</Title>
    <Title  Action="GoTo" >1.4. Wrist Band Thermometer (F)</Title>
    <Title Action="GoTo" >1.5. Depth/Pressure Gauge (Digital)</Title>
    <Title Action="GoTo" >1.6. Depth/Pressure Gauge (Analog)</Title>
    <Title  Action="GoTo" >1.7. Wrist Band Thermometer (C)</Title>
  </Title>
  <Title  Action="GoTo" >2. Underwater</Title>
  <Title Action="GoTo" >
    3. J.W.  Luscher Mfg.
    <Title  Action="GoTo" >3.1. Remotely Operated Video System</Title>
    <Title  Action="GoTo" >3.2. Boat Towable Metal Detector</Title>
    <Title  Action="GoTo" >3.3. Boat Towable Metal Detector</Title>
    <Title  Action="GoTo" >3.4. Underwater Altimeter</Title>
    <Title  Action="GoTo" >3.5. Sonar System</Title>
    <Title  Action="GoTo" >3.6. Marine Magnetometer</Title>
    <Title  Action="GoTo" >3.7. Underwater Metal Detector</Title>
    <Title  Action="GoTo" >3.8. Underwater Metal Detector</Title>
  </Title>

Mehdi Gholam

Что происходит, когда вы читаете его в набор данных?

myfusion

ниже приведено исключение ошибка возникает при чтении в набор данных

невозможно добавить вложенное отношение или столбец элемента в таблицу, содержащую простой столбец содержимого

I.explore.code

связано ли это с тем, что у вас есть Title В качестве родительского тега и Title В качестве подтегов? Попробуйте переименовать родительские теги, например "ParentTitle"...

myfusion

любое другое решение...
этот xml генерируется динамически, поэтому я не знаю, сколько вложенности будет там

3 Ответов

Рейтинг:
2

Amund Gjersøe

Эта работа:

[Serializable]
public class Bookmark
{
    [XmlElement(ElementName="Title")]
    public List<Title> TitleCollection { get; set; }
}

[Serializable]
public class Title
{
    [XmlAttribute]
    public string Action { get; set; }
    [XmlText]
    public string Value { get; set; }
    [XmlElement("Title")]
    public List<Title> TitleSubCollection { get; set; }
}


Edit: протестировал сериализацию и десериализацию вашего xml-файла, и это сработало. Надеюсь, что это, в свою очередь, поможет вам загрузить его в DataSet.


Рейтинг:
0

vvsnmurty

Привет,
вы также можете попробовать

ДС.Метод readxml("заполнить в XML путь/имя файла") и DS.метода writexml("путь к XML заполнения/имя файла ") ;


Рейтинг:
0

pandaloveu

Здравствуйте я думаю что приведенная ниже статья может вам помочь:
http://msdn.microsoft.com/en-us/library/system.data.dataset.readxml.aspx[^]
http://msdn.microsoft.com/en-us/library/ekw4dh3f%28v=vs.71%29.aspx[^]