Chương 6. Cài đặt chương trình OpenGISServer
116
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"
xsi:schemaLocation="http://www.opengis.net/wfs
../wfs/1.0.0/WFS-transaction.xsd">
<wfs:Update typeName="duong">
<wfs:Property>
<wfs:Name>NAME</wfs:Name>
<wfs:Value>Ngô Gia T</wfs:Value>
</wfs:Property>
<ogc:Filter>
<ogc:FeatureId fid="duong.3"/>
</ogc:Filter>
</wfs:Update>
<wfs:Delete typeName=”quan”>
<ogc:Filter>
<ogc:FeatureId fid="quan.1"/>
</ogc:Filter>
</wfs:Delete>
</wfs:Transaction>
Mi XmlNode s tương ng vi 1 tag trong chui Xml, chng hn tag
<wfs:Transaction> là 1 XmlNode.
Mi XmlNode có cha nhiu XmlNode con, và có th cha các Attributes
ca node đó.
Chng hn, trong ví d trên thì node <wfs:Transaction> có 2 node con là
<wfs:Update> và <wfs:Delete>. Node <wfs:Update> này cha 2 node con
là <wfs:Property> và <ogc:Filter>.
Node <wfs:Update> và node <wfs:Delete> có 1 attribute là “typeName”.
Chương 6. Cài đặt chương trình OpenGISServer
117
Đọc d liu t chui Xml này.
Trước hết, cn phi to 1 XmlDocument tương ng vi chui này:
XmlDocument requestDocument = new XmlDocument();
requestDocument.LoadXml(sRequestXml);
Ly node đầu tiên <wfs:Transaction>:
XmlNode first = requestDocument.FirstNode;
Ly 2 node con <wfs:Update> và <wfs:Delete>:
XmlNodeList childs = first.ChildNodes;
XmlNode updateNode = childs[0];
XmlNode deleteNode = childs[1];
Ly attribute “typeName” ca node <wfs:Update>
string sUpdateTypeName = updateNode.Attributes[“typeName”];
Nếu như node không cha attribute này thì hàm này tr v null.
Ly giá tr ca Node <wfs:Name>, s dng thuc tính InnerXml ca lp
XmlNode
string Name = updateNode.FirstChild.FirstChild.InnerXml;
Ly tên ca Node <wfs:Update>, có c phn NameSpace phía trước tên
node
string sNodeName = updateNode.Name;
Khi đó sNodeName = “wfs:Update”, trong đó “wfs” là NameSpace ca Update”.
Ly tên ca Node <wfs:Update>, không ly phn NameSpace phía trước
tên node
string sLocalNodeName = updateNode.LocalName;
Khi đó sLocalNodeName = “Update”.
Chương 6. Cài đặt chương trình OpenGISServer
118
Để ly chui Xml tương ng vi Node <wfs:Update>:
string xmlUpdate = updateNode.OuterXml;
Khi đó, chui xmlUpdate s có giá tr là:
<wfs:Update typeName="duong">
<wfs:Property>
<wfs:Name>NAME</wfs:Name>
<wfs:Value>Ngô Gia T</wfs:Value>
</wfs:Property>
<ogc:Filter>
<ogc:FeatureId fid="duong.3"/>
</ogc:Filter>
</wfs:Update>
6.5. Các lp trong chương trình
Tên lp Mô t
Others/ExceptionBuilder Xây dng chui XML dùng để báo
các li v cho client khi có li trong
request
Other/OtherTasks Cha tên các FeatureType trong
chương trình
Chc các thuc tính ca các
FeatureType
Cha các hàm thc hin nhng tác v
ph trong chương trình
WFS/CheckBasicParameterClasses/Abstra
ctHTTPClass
Lp tru tượng, có tác dng ly các
tham s mà client gi lên trong
request.
Chương 6. Cài đặt chương trình OpenGISServer
119
WFS/CheckBasicParameterClasses/HTTP
GetClass
Kế tha t lp
CheckBasicParameterClasses/Abstrac
tHTTPClass, có tác dng ly các tham
s mà client gi lên trong 1 HTTP
GET request
WFS/CheckBasicParameterClasses/HTTP
PostClass
Kế tha t lp
CheckBasicParameterClasses/Abstrac
tHTTPClass, có tác dng ly các tham
s mà client gi lên trong 1 HTTP
POST request
WFS/FeatureClass/AbstractFeature Là 1 lp abstract, gm các hàm dùng
để thc hin các tác v liên quan đến
các FeatureType trên Server, chng
hn như:
Đọc t cơ s d liu để ly v các
Feature tha 1 s điu kin nào đó
To ra chui Xml mô t các Feature
để tr v cho client (chc năng này
được cài đặt c th các lp con ca
nó).
Ly các thuc tính ca Feature
……
Chương 6. Cài đặt chương trình OpenGISServer
120
WFS/FeatureClass/DistrictFeature Kế tha t lp
WFS/FeatureClass/AbstractFeature.
Có chc năng thc hin các thao tác
trên loi Feature “Quan”:
Ly các thuc tính ca loi Feature
“Quan”.
To chui Xml mô t vi các Feature
“Quan” ly được t cơ s d liu để
tr v cho client
WFS/FeatureClass/PlaceFeature Kế tha t lp
WFS/FeatureClass/AbstractFeature.
Có chc năng thc hin các thao tác
trên các Feature thuc loi Feature
“nơi chn”
Ly các thuc tính ca loi Feature
“noi chon”.
To chui Xml mô t vi các Feature
“noi chon” ly được t cơ s d liu
để tr v cho client
WFS/FeatureClass/RiverFeature Kế tha t lp
WFS/FeatureClass/AbstractFeature.
Có chc năng thc hin các thao tác
trên các Feature thuc loi Feature
“Song”
Ly các thuc tính ca loi Feature
“Song”.
To chui Xml mô t vi các Feature
“Song” ly t csdl tr v cho client.