2.
������ � ������ Xml
2.1. ������ Xml � ������� XmlTextReader 2.1.1. �������� ������������ ����� ������ � ������� XmlTextReader 2.1.2. ������ ������������ Pull-������ ������ Xml? 2.1.3. ��������� ������������ ���������� ������������ � XmlTextReader 2.1.4. �������������� ������� XmlTextReader 2.1.5. ������� ��������� ��������� ��� XmlTextReader 2.2. ������ Xml ���������� XmlTextWriter 2.2.1. ��� XmlTextWriter ���������� ������ �������������� (Well Formed) XML 2.2.2. ������ � �������������� ��� ���������� XmlTextWriter 2. ������ � ������ Xml ����������� ������ System.Xml �������������� ��������� XmlReader � XmlWriter, ������� ������������ ������ � ������ XML. XmlReader ������������ �������, non-cached �������� ������������� ������ ������� ������� � XML ������. XmlWriter ������������ �������, non-cached, forward-only ���� ��������� XML �������, ���������� XML ���������, ������� ������������� ������������ W3C Extensible Markup Language (XML) 1.0 � ������������ ��� ������������ XML. XmlTextReader � XmlTextWriter - ���������� ���������� XmlReader � XmlWriter � ������������ ��� System.Xml. 2.1. ������ Xml � ������� XmlTextReader ����� XmlTextReader �������� XML ������ (��������� ��������
forward-only) �� ������� �����, ������� TextReader ����� ���
URL (������� �������������� Web ���� ��� ���������
����). � ������ Xml ��������, ����� ���������� �������� ���������,
��� � ������ ���������� Xml �����. 2.1.1. �������� ������������ ����� ������ � ������� XmlTextReader �������� ������������ ����� ������ ����������� � �������
��������������� ������� XDR ��� XSD ����, � ����� ��� DTD.
���� ��� ��������, ������������ XmlUrlResolver, �����
��������� ������� DTD ��� �����, ������� ��������� ��� �����
��������. <!ATTLIST e a CDATA "123"> ���� ������� "a" � �������� "e" �� ��������� � Xml ������,
�� ��� ����� ���� �������� �� ��������� "123". �������� ��
��������� �������� ������������ ��� ��, ��� � ������� ��������
� ��� ��������, ��� ���������� �������� �� ��������� �������
��������� "true" �� �������� IsDefault.
2.1.2. ������ ������������ Pull-������ ������
Xml? XmlReader ���������� "pull" ������ ��� ������ XML. "Pull"
������������ "Simple API for XML" (SAX) ��� event-driven
������, ������� ����� �������� �������� �������� �
����������.
2.1.3. ��������� ������������ ���������� ������������ � XmlTextReader ���������, �� ����������� ������������ (�������, �������
���������, ����� � ������ ������) ����� ����������
���������������� ����� ���������: ��������� ���� ������ ������������ �����������, �� ����������� ������������ ��� ��������� (*), � �� ��������, �� ����������� ������������ ��� ����� (.), ��� �� ������������������ �� �������. ������� newline ����� �������������� �������������� ��� ��������� ��� �����. <!DOCTYPE test [ �����������, �� ����������� ������������ ������������, ���
��� ���� "SignificantWhitespace", �������� �� ��������, ��� ��
��������, ������������� ������������ ������������ ������, ���
"Whitespace". ��� ��������� �������������� ����������, ��.
������ � 2.10 � ������������ W3C Extensible Markup Language
(Xml) 1.0
(http://www.w3.org/TR/1998/REC-xml-19980210#sec-white-space).
2.1.4. �������������� ������� XmlTextReader �������������� ���� ������� ����������, ��� ���������
������������� �������� ����� �������� �� ���������� ��������
������. ������������ ��������, ������� �� ����� ����
��������������� ����� ������ �������� ������, ��� ��������
Namespace (������������ ���). XmlReader ���������� ���, �����
�� ��������� ����������� �� ������������� �������, � ��� �� ��
���� ������� ������������ ����� ����������. �� ���������
���������� ���������� ��������� �������, ������� ����� �����
������������� ����� ���������� �����������. ��������, ����
Validation (�������� ������������) ����������� � 'Auto' �
Entity handling (��������� ��������) ����������� � 'Ignore', �
��������� ���� ���������������, ��� �������� �� �����������.
��� ������ ��������, ��� �������� ������ ����� ������������
�������� ����� ���������, �� ��������� ��� � �.�., �� ������,
���������� �������� ������������, �� �� ���� ����������.
���� EntityHandling ����������� � 'IgnoreEntites', � Normalization ����������� � 'true', �� ��������� EntityHandling ����� ��������� ������������ ��������� ������� �������. �������� ������� ������� ������� �� ������������, ���� EntityHandling - 'IgnoreEntites'. 2.1.5. ������� ��������� ��������� ��� XmlTextReader �������������� ���� ������� ����������, ��� ��������� �������� XmlTextReader ����� �������������� ��� ���������� ��������� ���������.
1. ������������ �������� �� ��������� �������� � ��������,
�� ������ �� ����������� ������������, �� �������� �������
������� ��������. 2.2. ������ Xml ���������� XmlTextWriter ����� XmlTextWriter ���������� ������, ������� ����� XML
������ non-cached � forward-only �������� � ������, ����� �
������� TextWriter. ����� XmlTextWriter ��������� �����������
����� XmlWriter. ������ XmlWriter �������� ���������� XML
���������, ������� ������������� ������������ W3C Extensible
Markup Language (http://www.w3.org/TR/1998/REC-xml-19980210) �
������������ ��� �� ������������ XML
(http://www.w3.org/TR/REC-xml-names/). 2.2.1. ��� XmlTextWriter ���������� ������ �������������� (Well Formed) XML ����������, ����� ���������������� �������������
XmlTextWriter ��� ������ � ��������� well-formed XML
���������� � ����������� ������������ ������������ W3C
Extensible Markup Language (XML) 1.0
(http://www.w3.org/TR/1998/REC-xml-19980210): XmlWriter �� ��������� ���������: - ������������ �������� � ����� ������� ��������. 2.2.2. ������ � �������������� ��� ���������� XmlTextWriter XmlTextWriter ������������ ���� ������������ ���, ��������������� ���� ������������� ���, ������������ ������� ������ ��������. ��������: XmlTextWriter w = new
XmlTextWriter(Console.Out); � ���������� ������� ���������: <root xmlns="urn:1"><item/></root> �������� ��������, ��� ���������� ������������ ��� ��� ���������� �������� item �� ����������� ��������. ��������� ��������� ���� ��������� ����������� ����� � ������������� ��� URI, �� ��� ������ ����� �������, ��������������� "Namespace Defaulting" (http://www.w3.org/TR/1999/REC-xml-names-19990114/defaulting) � ������������� ��� W3C ������������ Xml, ��� ������������� ���������� ����: XmlTextWriter w = new
XmlTextWriter(Console.Out); � ���������� ������� ���������: <root n1:foo="123" xmlns:n1="urn:1"/> ����������: ��� �����������, ���� ���� �������� ������� ������ � �������� �� ��������� ������������� ��� "URN:1". �������� ���������, ��� n{i}, ��� i ���������� � 1. ������ ����������� ��� ������� ���������� ��������, ��� ���, ���� ���������, ���������� ������� ����� ��������� � ��������������� ��������, "n1" ����� �������������� ��������. ����� ����������� �������� ������ ������������ ������������ Xml, ��������������� "W3C Canonical XML Version 1.0 specification". (http://www.w3.org/TR/sec-namespaces). �������� ���������� ������������ ��� ������� �� ����� ������ �������� ��� ���������� ������������ ��� �������. ��� �������, ���� �� ������, ��� ����� �������������� ����� ���������� ������������ ���. �������� ��� ��������� �������: w.WriteStartElement("root"); � ���������� ������� ���������: <root
xmlns:x="urn:1"> � ���� �������, ���������� ������������ ��� ���������� �
��������� ��������, ����� �������� ������������ ��� ����
����������� ���������. �������� ������ ���������� ������������ ��� �� ������ ������� �������� ������������ ���, ��������� � ������ ��������� ��������� �������: w.WriteStartElement("x","node","123"); � ���������� ������� ���������: <x:node xmlns:x="bar"/> ��������, ��� "bar" �������� �������������� ������������ ��� URI "123". ��� ��������� �������� ��� ������������� ����������. ����������� ��������� �� ������ ���������� ������� ��� �������������. ��� ����� ���������� ��� �������. ������, ���� ���������� ������, ������� �������� �������: XmlTextWriter w = new
XmlTextWriter(Console.Out); � ���������� ������� ���������: <x:root xmlns:x="urn:1"><y:item xmlns:y="urn:1"/></x:root> ��������, ��� ��� �������� "x" � "y" �����������. �������� ��������: ����������� �������� � ������� ������������ ��� URI �������� Section 2 W3C ������������ ��� � ������������ Xml (http://www.w3.org/TR/1999/REC-xml-names-19990114/ns-decl). ������������� ���������� ����������� ��� ����� ���� ������������� ���������� ������������ ���, ������������ ��������� �������� ������ � ���� �� URN, XmlWriter �������� ����� ������� ���� ���������� ������������ ��� ��������� �������: XmlTextWriter w = new
XmlTextWriter(Console.Out); � ���� ������, ������ WriteAttribute �� ��������� ������� ������� (��� ��� �� ������ �������� ����� ��������). XmlWriter ������� ������� ������� "y" � ���������� ���, ����� ������������� ���������: <x:root
xmlns:x="urn:1"> ����������� ���������� ���������� ����� �� �������������� �������� ����� ��������� ���������, ��� ���������� ������� XmlWriter ���������� �������������� ��������. � ��������� ������� ������� ����� ����� ��� �� ����� �������, ��� � �������, �� ������������ ��� ����� ����������: w.WriteStartElement("x","root","urn:1"); �������� "foo" ������������� ����� ������� ��������� �������: <x:root n1:foo="123" xmlns:n1="urn:2" xmlns:x="urn:1"/> ��� ��������� ����� ��������� ������ � ���������. ��� ��������� ���������, ����� ���������� ������������ ��� ����� ������ ����������������, ��� � ������� ���������� ��������. ��������, ���������� ��������� ���: w.WriteStartElement("x","root","urn:1"); � ���������� ������� ���������: <x:root
xmlns:x="urn:1"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.
���������� Document Object Model (DOM)
3.1. ��������������� ������ Xml DOM 3.2. ����������� ������ Xml DOM 3.3. XmlNavigator � ��������� Xpath 3.4. XslTransform � ��������� XSLT 3.5. ����������� ����� XmlResolver 3. ���������� Document Object Model (DOM) ��������� .NET Framework SDK ���������� W3C Document object
Model (DOM) level 1 Core � Core DOM Level 2. DOM - ���
memory-resident (���) ������������� ������ Xml ��������� �
��������� ��������� � �������������� ����� ���������. ����������: ���� ���������� ��������� �� ���������� ��������� ��������������� DOM, ������ XmlTextReader � XmlTextWriter ������������ ������� (non-cached) ����� forward-only ������� � XML (��. �. 2. ������ � ������ Xml). 3.1. ��������������� ������ Xml DOM ������������ W3C Document Object Model (DOM) Level 1
(http://www.w3.org/TR/REC-DOM-Level-1) ���������� ��� ������
����������� �������: �������� � �����������. �������� ������
W3C �������� �� ����������� ��� ��������� ����������
��������, ������� ��������� Xml �����������. W3C ����������
����������� ������ ��� ��, ������� ����� �� ������� �������
���������������� ����� ������� ��� �������������. ������������
W3C Level 2 DOM (http://www.w3.org/TR/DOM-Level-2-Core/)
�������� ��������� ����������� ��� Xml � ���������
�������������� �����������.
3.2. ����������� ������ Xml DOM ���� ����� � ����������� ��������������� ������� ��� high-level �������� ������� ���� ���� � ��������� Xml. ����������� high-level �������� ��������� �������� � ������ ��������� ������� XmlNode, � ��������� ��� �������� � ������, ����������� ��� high-level �������.
3.3. XmlNavigator � ��������� Xpath ����������� ����� XmlNavigator ������������ ����������� �������� ������������ � �������������� XML ������ � XML ���������. �� ������������ ��������� Xpath, � ����� �������������� ��� ������� �������� ������ XslTransform, ������� ������������ ���������� � XSLT ��������������. DocumentNavigator ��������� XmlNavigator ��� XmlDocument � DataDocumentNavigator ��������� ��� ��� XmlDataDocument. XmlNavigator ����� ��������� ������ � ��������: - Move, delete, insert � copy (�����������, ��������,
������� � �����������) ������ ������ ���� � �������� Xml
���������. ������� "current" ���� �������� �����, �� �������
�������������� �����������, ���� ���� �� ���������, ����������
��� ������ ���-���� �����. �������� ������ ������ ��� XmlNavigator �� �� ����� ��� � � DOM. XmlNavigator ������������ ����������� ���� � ������ ����� � ��������� ��������� ������������: - ����� ����������� ����, �� ������� ���������
XmlNavigator, ������ �� ������ ��� ��������� � ������ ������,
XmlNavigator ���������� ��������� �� ���� ������������ ����, �
MoveToParent ����� ������������ � ���������� ������ ����. XmlNavigator ���������� ���� ���� � �������� ������ �������
�������������� XmlReader (���� �� ��������� ����� ����
��������) � ��������� ��������� ��� ������������� �������.
������, XmlNavigator �� ������ ������ ����, ��� ���������
������������ ������ � ����� ������� ������� � XML ������,
����� ������������ ����, ����� ���������� ����������� � ����.
API ���� ��� ����������� �������� ������� ���� � ��������� �
��������� � ��� �����. �������� � ����� ��������� Null ���� XmlNavigator ��������� � ��������� null, �� �������� �� ��������� �� �� ����� ����. ����� XmlNavigator ����������� � ������� null (MoveTo (null)), ���������� ���� �������� �������������� � ����������� InvalidPosition. �� ������ ��������, ��������� �� ������ XmlNavigator � ��������� null, ��������, ������������ �� NodeType 0. �� ������ ������� ������ XmlNavigator �� ��������� null, ��������� MoveTo (XmlNavigator) ��� MoveToDocument. 3.4. XslTransform � ��������� XSLT ���� Xml ��������� ���������������, ���������� ���������
����� �������, ����� ���������� ���� ���������������
��-�������. eXtensible Stylesheet Language (XSL) - ���
���������� �� Xml ����, ��������������� ��� ��������������
������ Xml ��������� � ������ Xml, �������� HTML ��� � �����
������ ����������������� ��������. XSL ������� �� Xpath, ���
��������� ���������� ������������� ����� Xml ��������� �
������������� �������. - XmlReader �������� ��������, ��� ��������� �������������� ��������� � ���������� � �����. ������� �������, ���� ������� ���� ���������� �� ��������� ������ ���� � �������� �� ��������� ���� ���������, ��� �� ��������� �������������� ���� ��������� ����� ������������ ���������. ����� ����, ��� �������������� ���� ���������, XmlNavigator ������� � ��� �������������� ���������. ��� ��������, ��� ����, ������� ��� ������� ����� ��������� ��������������, ��� ��� ������� ������� ����� ����� ����, ��� ��� ������ Transform �����. 3.5. ����������� ����� XmlResolver ����������� ����� XmlResolver ������������ ��� ���������� ������� XML ��������. XmlUrlResolver ��������� ���� �����, ����� ��������� ����� XML �������, ��� URI. �� ������������ XmlTextReader, ����� ��������� ������� DTD, �������� � �����. �� ������������ ����� XslTransform, ����� ���������� �������� <xsl:include>. | |||||||||||||||||||||||||||||||||||||||||||||||||||
4.
XmlDataDocument � Dataset
4.1. ��� Dataset ���������� ��������� ��������� ��� ����� 4.2. ������������� XML .NET Framework 4. XmlDataDocument � Dataset Microsoft .NET Framework SDK ����������� Xml c �����������
������� XmlDataDocument. ����������� ������ ����������
������������ ������������� ������ ������ ��������������
��������, ��������, ���������� � ������ � �������� ����������
������ ������. ����������� ������ ���������� ������ � ��������
�� �������� � �������. XML DOM ������������ ���������� �
������ XML ����, � ���������� ����������, ��������, ������ �
�������� �������� � WEB, ��� �������
���������. ������ ����� ���� ��������� � XmlDataDocument ����������
XmlReader. � Dataset ������ ����� ���� ��������� � �������
������������ ���������� �� ������������ ��������� ������
(��������, ���� ������ SQL Server) ��� ���������� XmlReader ��
XML ��������� ��� ������. �������� Dataset ��� XmlDataDocument
�������������� ������ ����� ����. ������� �������, �����
������, ����������� � Dataset, ������ ������������� �����
����� � XmlDataDocument. �������� ����� ��������. ����������
����� � XmlDocument ����� �������� � ��������� ����� ������ �
������� Dataset, ���� ���� ��� ���� ��������� � �������
Dataset. ���������� ������������� ����� XmlDocument � Dataset.
(�� ���� Dataset, ���� �� ���������� ����������� ������,
�������� �������������� XML ������) �������������,
XmlDataDocument ���� ��� ����������� ��������� ����������� ���
XML ������ � ��������� ���, ��������� ��������� ������
��������� (DOM). - �� ������ ��� ����� ����������� XDR ��� XSD ������ ���
Dataset, ����� ������ Xml ������. � ���� ������, Dataset
���������� ����� ��� ����������� ������, ��������� �����������
������ ������. ����� ������ ������� �������� Relational Schema
Mapping (����������� ����������� �����). �����, ��������� ������ ��������, ��������� ��� ������, �� �� ����������� ��� ����� ������ ������. ����� ������� �����, Dataset ���������� �������, ��������� � �������, ����������� ����, ��� Dataset ���������� ��������� ��������� ��� �����. 4.1. ��� Dataset ���������� ��������� ��������� ��� ����� ����� ����� ReadXml ������� Dataset ��������� XML ��������, ������� �� ����� ��������� �����, Dataset ������� ��������� ���������, ��������� ���������� ��������� ������. ����� ����� - ��� ���� ������� �������. ������� Dataset ��������� ��������, ������� �������� ���� ���������� ��� ������� � � ������������ � ���������, ������� ��������� ����. ����� ����� ���������� �������� - ��� ������������ ������� � ����� �� ������������ ������. ����������� Dataset ���� �������� ���� ��������� �������� ��������, ������� �� �������� ���������, �� �������� ���� ���������� ��������. �����, �������� ���� ���������� Dataset. Dataset Name, Namespace � Prefix ����������� �� Document Element LocalName, NamespaceURI, � Prefix. ���� Document Element �������� ��������, ��� ���������� � ����������� �������� Dataset. ����������� ������ ��������� ������� �������������� ��������, �� �������
������� ������������ ��� �����: ����������� ������������� ������ ��������� ������� - Xml ������������� ������������� ��������� � ����� ��������� �������� � �������� ������������ �������. ���������� �������� ������, ����� ������� ������ � ������ ��������, ������� ����� �� �� ����� ���. ����������� ��������� ��� ������������ � ���������� ������ � ����� ������� ����������� �������������� �������, ������� �������������� ��������� ����� ���������. ��� ����� ������, ��� ����������� ������� - ��� ��� ������������ ������� � ���������� "_Id". ��� ��������� - ��� ������ "Relation", ����������� ����� ������, ������� ������ ��� ��� ���������� � �������� Dataset. �������� ������ ��������� ������ ������ ������������ ������� ����� ���������� �������� ��������, � ��������� ������� ��� ������ ������ � ���������� ������� ��������� �� �� ����� ��������. ����������� �������� ��, ��� �� ���� ���������� ��� �������, ����������
��������. ��������, ������� �� ��������� ��������������� ���
�������� �����, ������� �� ����������� � �� ����� �������
����������� ���������, ���������� ��������� ����������� ��
��������. � �������� ����� ������� ������������ ���
��������. ����������� ����� ������ ��������� �� �������� Xml �����. ���� ���������
������� ����������� ��� ������ �������� � ������
�������: 4.2. ������������� XML .NET Framework ���������� ����� ������� ������������� � ������������ ���������, ��������� ������ ��������. ���� �� ������������ ������������ ����������� ���� �����, ����� �������� ����� ��� �������� ������, ������� ��� �� ��� �� ����������� ����� �� �����: mssqlhelp@pisem.net | |
5. ��������� ����� System.Xml ���� ������ �������� ��������� �����, ���������� � ������� ���� System.Xml �������� ������������ ���. booksSchema.xml booksSchemaFail.xml newbooks.xml schema.xml schema1.xml | |
|