Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Такая тяпничная задачка...

357  
Murr патриот18.10.19 16:31
Murr
18.10.19 16:31 

Такая тяпничная задачка...


Исходно: дан хмл-документ, определяющий свой собственный формат.

Требуется: прокси класс для работы с данным документом.

Из известных проблем:

- часть информации связывается не структурой документа, но содержимым полей.

Вот пример:


<?xml version="1.0" encoding="utf-8" ?>

<xs:schema
elementFormDefault="qualified="
attributeFormDefault="unqualified="
xmlns:xs="http:=//www.w3.org/2001/XMLSchema"
xmlns:edm="http://schemas.microsoft.com/ado/2009/11/edm"
targetNamespace="http://schemas.microsoft.com/ado/2009/11/edm"
>
<xs:complexType name="TSchema">
<xs:sequence>
<xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:group name="GSchemaBodyElements">
<xs:choice>
<xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="EnumType" type="edm:TEnumType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ValueTerm" type="edm:TValueTerm" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Annotations" type="edm:TAnnotations" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1" />
</xs:choice>
</xs:group>

</xs:schema>


Здесь через GSchemaBodyElements определяется висящее отдельным списком группировка компонентиков.


Эээ... Меня не инересует класс-представление - сделать его и набить коллекциями никакой проблемы не представляет.

Меня интересует именно прокси-класс - данные остаются на месте и с ними работаем напрямую - удаляем/меняем/добавляем...


#1 
Программист коренной житель18.10.19 16:43
NEW 18.10.19 16:43 
в ответ Murr 18.10.19 16:31

кто как, а я не понял что требуется :D

#2 
AlexNek патриот18.10.19 17:22
AlexNek
NEW 18.10.19 17:22 
в ответ Программист 18.10.19 16:43

наверняка какое то извращение спок

Типа загрузить темплейт, а после пользовать XmlDocument Load

#3