.NET 4.x Парсинг Xml - C# (179322)

Узнай цену своей работы

Формулировка задачи:

Добрый день. Помогите распарсить Xml документ. Это справочник ОКПД. Весь Xml во вложения не влезет. Вот вырезка из него чтобы было видно что нужно. Мне нужно достать все значения в переменные, из ID, Section, SectionName и так далее. Можно совершенно по тупому главное чтобы побыстрее и рабочий вариант.
<?xml version="1.0" encoding="utf-8"?>
<DataTable>
  <xs:schema id="OKPD" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="OKPD" msdata:IsDataSet="true" msdata:MainDataTable="OKPD" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="OKPD">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" minOccurs="0" />
                <xs:element name="Section" type="xs:string" minOccurs="0" />
                <xs:element name="SectionName" type="xs:string" minOccurs="0" />
                <xs:element name="SubSection" type="xs:string" minOccurs="0" />
                <xs:element name="SubSectionName" type="xs:string" minOccurs="0" />
                <xs:element name="Kod" type="xs:string" minOccurs="0" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
                <xs:element name="Notes" type="xs:string" minOccurs="0" />
                <xs:element name="SubKod1" type="xs:string" minOccurs="0" />
                <xs:element name="SubKod2" type="xs:string" minOccurs="0" />
                <xs:element name="SubKod3" type="xs:string" minOccurs="0" />
                <xs:element name="SubKod4" type="xs:string" minOccurs="0" />
                <xs:element name="WhenAdd" type="xs:dateTime" minOccurs="0" />
                <xs:element name="Source" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <OKPD>
      <OKPD diffgr:id="OKPD1" msdata:rowOrder="0">
        <ID>38896</ID>
        <Section>A</Section>
        <SectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SectionName>
        <SubSection>AА</SubSection>
        <SubSectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SubSectionName>
        <Kod>01</Kod>
        <Name>Продукция и услуги сельского хозяйства и охоты</Name>
        <SubKod1>01</SubKod1>
        <WhenAdd>2016-06-07T00:14:23.03+03:00</WhenAdd>
        <Source>myData.biz</Source>
      </OKPD>
      <OKPD diffgr:id="OKPD2" msdata:rowOrder="1">
        <ID>38897</ID>
        <Section>A</Section>
        <SectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SectionName>
        <SubSection>AА</SubSection>
        <SubSectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SubSectionName>
        <Kod>01.1</Kod>
        <Name>Культуры сельскохозяйственные, продукция овощеводства и садоводства</Name>
        <SubKod1>01</SubKod1>
        <SubKod2>1</SubKod2>
        <WhenAdd>2016-06-07T00:14:23.03+03:00</WhenAdd>
        <Source>myData.biz</Source>
      </OKPD>
      <OKPD diffgr:id="OKPD3" msdata:rowOrder="2">
        <ID>38898</ID>
        <Section>A</Section>
        <SectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SectionName>
        <SubSection>AА</SubSection>
        <SubSectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SubSectionName>
        <Kod>01.11</Kod>
        <Name>Культуры зерновые и прочие культуры сельскохозяйственные, не включенные в другие группировки</Name>
        <SubKod1>01</SubKod1>
        <SubKod2>11</SubKod2>
        <WhenAdd>2016-06-07T00:14:23.03+03:00</WhenAdd>
        <Source>myData.biz</Source>
      </OKPD>
      <OKPD diffgr:id="OKPD4" msdata:rowOrder="3">
        <ID>38899</ID>
        <Section>A</Section>
        <SectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SectionName>
        <SubSection>AА</SubSection>
        <SubSectionName>ПРОДУКЦИЯ СЕЛЬСКОГО ХОЗЯЙСТВА, ОХОТЫ И ЛЕСНОГО ХОЗЯЙСТВА</SubSectionName>
        <Kod>01.11.1</Kod>
        <Name>Культуры зерновые</Name>
        <SubKod1>01</SubKod1>
        <SubKod2>11</SubKod2>
        <SubKod3>1</SubKod3>
        <WhenAdd>2016-06-07T00:14:23.033+03:00</WhenAdd>
        <Source>myData.biz</Source>
      </OKPD>
Пробовал и сам, но у меня что то не получается достать. Сам парсил JSON, а тут что то не выходит.

Решение задачи: «.NET 4.x Парсинг Xml»

textual
Листинг программы
        private string GetAttributeValue (string xmlFileName, string tag, string attribute)
        {
            XmlTextReader reader = new XmlTextReader(xmlFileName);
            string AttributeValue = null;
 
            while (reader.Read())
            {
                if (reader.Name == tag)
                {
                    AttributeValue = reader.GetAttribute(attribute);
                    break;
                }
            }
            return AttributeValue;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5