Добрый день. Клиент прислал файл xml. В нем строки такого типа:

```1c
    <БазоваяЕдиница МеждународноеСокращение="PCE" НаименованиеПолное="Штука" Код="796">шт</БазоваяЕдиница>
```

МеждународноеСокращение, НаименованиеПолное и Код я получаю. Как достучатся до значение "шт"? Спасибо за совет)
---
Зачем Вам схемы и фабрики? Просто чтениеXML не поможет для такой простой задачки?
У него для атрибутов и значений узла разные методы:

```1c
    МойХМЛ.ПолучитьАтрибут(<НомерАтрибута>) по номеру
    МойХМЛ.ПолучитьАтрибут(<ИмяАтрибута>) по имени
    МойХМЛ.Значение - значение текущего узла
```

ПолучитьАтрибут() - метод
Значение - свойство
---
БазоваяЕдиница это элемент.
МеждународноеСокращение, НаименованиеПолное и Код это атрибуты.
шт это значение элемента.
---
(3)
Пробовал так:

```1c
    Фабрика = Новый ФабрикаXDTO();
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
    ОбъектXDTO = Фабрика.ПрочитатьXML(ЧтениеXML);
```

Видит как ОбъектXDTO с атрибутами, значение "шт" нет!
---
Схема:

```1c
    <xs:schema xmlns:tns="http://www.sample-package.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sample-package.org" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:complexType name="БазоваяЕдиница">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="МеждународноеСокращение" use="required"/>
    <xs:attribute name="НаименованиеПолное" use="required"/>
    <xs:attribute name="Код" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="Файл">
    <xs:sequence>
    <xs:element name="БазовыеЕдиницы" type="tns:БазоваяЕдиница" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
```

Код:

```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    ИмяФайла = ПолучитьИмяВременногоФайла("xsd");
    Макет = ПолучитьМакет("Макет");
    Макет.Записать(ИмяФайла);

    Фабрика = СоздатьФабрикуXDTO(ИмяФайла);

    УдалитьФайлы(ИмяФайла);

    Файл = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "Файл"));

    БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
    БазоваяЕдиница.МеждународноеСокращение = "PCE";
    БазоваяЕдиница.НаименованиеПолное = "штука";
    БазоваяЕдиница.Код = 796;
    БазоваяЕдиница.__content = "шт";

    Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);

    БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
    БазоваяЕдиница.МеждународноеСокращение = "PCE";
    БазоваяЕдиница.НаименованиеПолное = "штука";
    БазоваяЕдиница.Код = 796;
    БазоваяЕдиница.__content = "шт";

    Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);

    БазоваяЕдиница = Фабрика.Создать(Фабрика.Тип("http://www.sample-package.org", "БазоваяЕдиница"));
    БазоваяЕдиница.МеждународноеСокращение = "PCE";
    БазоваяЕдиница.НаименованиеПолное = "штука";
    БазоваяЕдиница.Код = 796;
    БазоваяЕдиница.__content = "шт";

    Файл.БазовыеЕдиницы.Добавить(БазоваяЕдиница);

    ЗаписьХМЛ = Новый ЗаписьXML;
    ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
    Фабрика.ЗаписатьXML(ЗаписьХМЛ, Файл);
    ЗаписьХМЛ.Закрыть();

    ЧтениеХМЛ = Новый ЧтениеXML;
    ЧтениеХМЛ.ОткрытьФайл(ИмяФайла);

    Файл = Фабрика.ПрочитатьXML(ЧтениеХМЛ, Фабрика.Тип("http://www.sample-package.org","Файл"));
    ЧтениеХМЛ.Закрыть();
    Для Каждого ТекБазЕд Из Файл.БазовыеЕдиницы Цикл
    Сообщить("МеждународноеСокращение: " + ТекБазЕд.МеждународноеСокращение + ", НаименованиеПолное: " + ТекБазЕд.НаименованиеПолное + ", Код: " + ТекБазЕд.Код + ", Значение: " + ТекБазЕд.__content);
    КонецЦикла;
    КонецПроцедуры
```
---
может лучше так - http://infostart.ru/public/418363/ ?
---
"шт" в данном случае это значение узла, а не атрибут, что бы прочитать значение узла надо.
---
Зачем Вам схемы и фабрики? Просто чтениеXML не поможет для такой простой задачки?
У него для атрибутов и значений узла разные методы:

```1c
    МойХМЛ.ПолучитьАтрибут(<НомерАтрибута>) по номеру
    МойХМЛ.ПолучитьАтрибут(<ИмяАтрибута>) по имени
    МойХМЛ.Значение - значение текущего узла
```

ПолучитьАтрибут() - метод
Значение - свойство
---
Спасибо, уже дошел к этому решению
---
МойХМЛ.ПолучитьАтрибут() по номеру
МойХМЛ.ПолучитьАтрибут() по имени
МойХМЛ.Значение - значение текущего узла
---
Спасибо,очень помогло