SharePoint рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдХрд╛рд░реНрдп рдЕрдХреНрд╕рд░ рд╕рд╛рдЗрдЯ рд╕рдВрд░рдЪрдирд╛ (рдлрд╝реАрд▓реНрдб, рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░, рд╕реВрдЪрд┐рдпрд╛рдБ) рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕реЗ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рднреА рднрд░ рджреЗрддрд╛ рд╣реИред рдЗрдиреНрд╣реЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдВрджрд░реНрдн рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЛрдб рд╕рд╣рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред
XML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ ListInstance рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ListDefinitions рд╣рдореЗрд╢рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЖрдмрд╛рдж рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдЗрдЯ рдкрд░ рдореМрдЬреВрдж рд╣реИрдВ, рдмрдЬрд╛рдп рд╕рдорд╛рдзрд╛рди рд╕реЗ рддреИрдирд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗред
рддреЛ, рд╡рд┐рдЪрд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реНрдХ рд╣реИ:
рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛,
рдПрдХреНрд╕реЗрд▓ рд╕реЗ XML рдореЗрдВ рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ,
Visual Studio рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП XML рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдирд╛
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА XML рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдФрд░ рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рд▓рд┐рдП рд░рд┐рд╕реАрд╡рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдирд╛ред
рдПрдХреНрд╕реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣рд╛рдБ рдбреЗрдЯрд╛ рднрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ; рдЖрдк рдЙрдиреНрд╣реЗрдВ рдорд╛рдЙрд╕ рд╕реЗ рдмрд╕ рдЦреАрдВрдЪрдХрд░ рд╡рд┐рднрд┐рдиреНрди рд▓рд╛рдЗрдиреЛрдВ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдорд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реВрддреНрд░ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдпрд╣ рдЗрд╕ рд░реВрдк рдореЗрдВ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрджрд░реНрдн рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо:
1. рдПрдХ рдЕрд▓рдЧ рд╢реАрдЯ рдкрд░ рдПрдХ рдПрдХреНрд╕реЗрд▓ рд╡рд░реНрдХрдмреБрдХ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛ рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВред
2. .xsd рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдЬреЛ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдЧреА:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Currencies">
<xs:complexType>
<xs:sequence>
<xs:element ref="Currency" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Currency">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" type="xs:string"/>
<xs:element name="Currency_IsNational" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдкрдиреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдЯ рддрддреНрд╡ рдХреЛ рдирд╛рдо рджреЗрдВ (рдпрд╛ рдЗрд╕рдХреЗ рдкрддреЗ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ)ред рдореИрдВрдиреЗ рдЗрд╕ рддрддреНрд╡ рдХреЛ рдореБрджреНрд░рд╛рдУрдВ рдХрд╣рд╛ рд╣реИред XML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рд╕реВрдЪреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЗрд╕ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрдЪреНрдЫрд┐рдд рд╕реВрдЪреА рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЗ рдЖрдВрддрд░рд┐рдХ рдирд╛рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ (рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд╢реАрд░реНрд╖рдХ рдФрд░ Currency_IsNational рд╣реИ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢рд░реНрдорд┐рдВрджрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореВрд▓реНрдп рдкреНрд░рдХрд╛рд░ "xs: string" рдХреЗ рд▓рд╛рдпрдХ рд╣реИред XML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ, рдЬрдм SPListItem рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЦреБрдж рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рддреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕реЗрд▓ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓реЙрдЧрд┐рди рдирд╛рдо, рдФрд░ рдХреЛрдб рдореЗрдВ SPFieldUserValue рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдкрд╛рдВрддрд░рдг рдХрд░реЗрдВред рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
3. рдПрдХреНрд╕реЗрд▓ рдореЗрдВ "рдбреЗрд╡рд▓рдкрд░" рдЯреИрдм рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред
4. рдЗрд╕ рдЯреИрдм рдкрд░, "рд╕реНрд░реЛрдд" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
5. рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдирд▓ рдореЗрдВ, XML рдореИрдкреНрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
6. "рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ .xsd рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ:
7. рд╕реНрдХреАрдорд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдЯреЗрдмрд▓ рд╣реЗрдбрд┐рдВрдЧ рдЪреБрдиреЗрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ рдкреИрдирд▓ рдореЗрдВ "рдПрд╕реЛрд╕рд┐рдПрдЯ рдПрд▓реАрдореЗрдВрдЯ" рдбреЗрдЯрд╛ рдЯреНрд░реА рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдореИрдк рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдЗрд╕реЗ рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
8. рдирд┐рд░реНрдпрд╛рдд рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ .xml рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ:
рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
9. рдЙрди рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВ рдЬреЛ рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
10. рдЕрдкрдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА .xml рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕реЗ рдирд╛рдо рджреЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП InitialDataред
рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлреАрдЪрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред
11. рдЬрдм рд╕реБрд╡рд┐рдзрд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд╛рдЗрдЯ рдкрд░ InitialData рдирд╛рдордХ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╣рд╛рдВ .xml рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреАред
12. рдЕрдЧрд▓рд╛, рд╕реБрд╡рд┐рдзрд╛ рд╕рдХреНрд░рд┐рдпрдг рд░рд┐рд╕реАрд╡рд░ рдореЗрдВ, рдЗрди xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЗрдЪреНрдЫрд┐рдд рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдЖрдЗрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдЬреЛрдбрд╝реЗрдВред
рдЬрдм рддрдХ рдпреЗ рдХреНрд░рд┐рдпрд╛рдПрдВ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддрдм рддрдХ рд╕реВрдЪреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдкрд░ рдореМрдЬреВрдж рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЙрд╕реА рд╕рдордп, рдЖрдк рдЙрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╣реИред
рдиреАрдЪреЗ рджреА рдЧрдИ рд╡рд┐рдзрд┐ InitialData рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рднреА xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП ImportToSPList рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИред
public void Import()
{
// _siteUrl -
using (SPSite site = new SPSite(_siteUrl))
{
SPWeb web = site.RootWeb;
// _initialDataFolderName - (, )
SPFolder initialDataFolder = web.RootFolder.SubFolders[_initialDataFolderName];
foreach (SPFile file in initialDataFolder.Files)
{
if (file.Name.EndsWith(".xml", StringComparison.CurrentCultureIgnoreCase))
{
using (MemoryStream inStream = new MemoryStream(file.OpenBinary()))
{
using (XmlTextReader reader = new XmlTextReader(inStream))
{
XmlDocument xd = new XmlDocument();
xd.Load(reader);
ImportToSPList(web, xd);
}
}
}
}
}
}
ImportToSPList xml, . , , , SPListItem, SPListItem'.
private void ImportToSPList(SPWeb web, XmlDocument xd)
{
XmlElement root = xd.DocumentElement;
// .
string rootName = root.LocalName;
string listUrl = String.Format("Lists/{0}/AllItems.aspx", rootName);
SPList list = web.GetListFromUrl(listUrl);
foreach (XmlNode item in root.ChildNodes)
{
SPListItem spListItem = list.AddItem();
//
foreach (XmlNode field in item.ChildNodes)
{
//
DataImportSpecialRule specialRule =
_diSpecialRules.FirstOrDefault(x => x.ListUrl == listUrl && x.FieldName == field.LocalName);
if (specialRule == null)
{
// ,
spListItem[field.LocalName] = field.InnerText;
}
else
{
// -
spListItem[field.LocalName] = specialRule.Converter(web, field.InnerText);
}
}
//
spListItem.Update();
}
}
рд╣реЗрд▓реНрдкрд░ рдХреНрд▓рд╛рд╕ DataImportSpecialRule рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВ, рдЬреЛ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ xml рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣рд╛рдВ рдЦреБрдж DataImportSpecialRule рдХреНрд▓рд╛рд╕ рд╣реИ, рдЬреЛ рд╕реВрдЪреА рдХрд╛ рдкрддрд╛, рдлрд╝реАрд▓реНрдб рдХрд╛ рдирд╛рдо рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ:
public delegate object GetTypedValue(SPWeb web, string value);
class DataImportSpecialRule
{
public string ListUrl { get; set; }
public string FieldName { get; set; }
public GetTypedValue Converter { get; set; }
}
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ GetTypedValue рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИрдВред рдЗрдирдкреБрдЯ рдкрд░, рдпрд╣ SPWeb рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ SPListItem рдлрд╝реАрд▓реНрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЖрдк рд╕рднреА рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
_diSpecialRules = new List()
{
new DataImportSpecialRule()
{
ListUrl = "Lists/BusinessBlocks/AllItems.aspx",
FieldName = "BusinessBlock_Group",
Converter = (SPWeb web, string value) =>
{
SPGroup group = web.SiteGroups[value];
return new SPFieldUserValue(web, group.ID, group.Name);
}
}
//
};
, , xml , , SPListItem .
. . , - .
private SPFieldMultiChoiceValue MultiChoiceConverter(SPWeb web, string value)
{
SPFieldMultiChoiceValue fValue = new SPFieldMultiChoiceValue();
foreach (string choice in value.Split(';')) fValue.Add(choice.Trim());
return fValue;
}
, . , .
:
, -, . , , xml , , .
.
SharePoint Channel
_diSpecialRules = new List()
{
new DataImportSpecialRule()
{
ListUrl = "Lists/BusinessBlocks/AllItems.aspx",
FieldName = "BusinessBlock_Group",
Converter = (SPWeb web, string value) =>
{
SPGroup group = web.SiteGroups[value];
return new SPFieldUserValue(web, group.ID, group.Name);
}
}
//
};
, , xml , , SPListItem .
. . , - .
private SPFieldMultiChoiceValue MultiChoiceConverter(SPWeb web, string value)
{
SPFieldMultiChoiceValue fValue = new SPFieldMultiChoiceValue();
foreach (string choice in value.Split(';')) fValue.Add(choice.Trim());
return fValue;
}
, . , .
:
, -, . , , xml , , .
.
SharePoint Channel