当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我要在datagrid中显示带有image字段的表,找到一些实例,编一个datagridcolmunsstyle的继承类。 可是我想显示的是人员的照片,每幅大小不定通常在80k左右。如果是1000多人就是80m,总不能一次显示出来,太大,太慢。 我想在只显示当前行的照片,其他行如果存在照片则显示“显示选中查看照片”,如果不存在显示“无照片”。这个效果该怎么做? ......
    摘要: 我用activex写一个控件,要求每3秒钟从数据库中读数据,如果找到符合要求的数据就将该记录从数据库中删除,同时触发事件通知调用该控件的程序。但是我在运行时总是在cocreateinstance(clsid_cadoconnection, null, clsctx_inproc_server, iid_iadoconnection, (lpvoid *)&m_piconnectio......


问个XML的问题

请教各位大侠一个问题,先谢谢了。  
  我想用XML来实现这样一个功能:B通过检查A发送来的XML文档的<METHOD>元素的内容来识别A的请求想干什么,并提取相应的数据。  
  举个例子:  
      John收到一个XML文档,John通过提取元素<UserID>的内容得知这是Mike发来的请求,然后检查文档中元素<METHOD>的内容得知Mike想修改口令,然后John再从元素<OLDPASSWORD>中取出Mike的旧口令,判断文档中的旧口令是否正确。如果口令正确,那么John接着从元素<NEWPASSWORD>中提取出Mike的新口令并保存起来。  
      同样,John如果收到一个XML文档,就可以处理Tom的登录请求。  
  例子说完了,不知道是否能让各位大侠明白小弟的意思。  
  我现在的问题是,由于对XML不太了解,有下列难题:  
  1,我不会用一个schema来定义上述XML文档的结构?请教各位大侠如何用schema或DTD来定义这些XML文档,是不是需要多个schema或是DTD  
  2,如果大侠您想借助XML实现我描述的功能,您会怎么设计XML文档结构。  
  最后要说的是,我对XML了解的很少,在提问中有什么胡言乱语,请各位大侠见谅。  
   
  XML文档1  
  <REQUEST>                                                       //表明这是一个请求  
          //客户信息  
          <USER>  
                <UserID>Mike</UserID>                 //UserID:用户代号  
          </USER>                
          //消息参数区                                
          <METHOD>ModifyPassword</METHOD>        
          <PARAMS>  
                  <OLDPASSWORD>1111</OLDPASSWORD   > //   用户的旧口令  
  <NEWPASSWORD>8888</NEWPASSWORD   > //   用户的新口令  
          </PARAMS>  
  </REQUEST>  
   
  XML文档2  
  <REQUEST>                                                       //表明这是一个请求  
          //客户信息  
          <USER>  
                <UserID>Tom</UserID>                 //UserID:用户代号  
          </USER>                
          //消息参数区                                
          <METHOD>Login</METHOD>        
          <PARAMS>  
                  <PASSWORD>8888</PASSWORD   > //   用户的新口令  
          </PARAMS>  
  </REQUEST>  
 

NO.1   作者: yu_hl

1.   1个schema就可以了。  
  对schema的使用见:http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/  
  2.   XML的精髓在于可以自己随意定义标记。只要自己觉得合适即可。

NO.2   作者: yu_hl

<?xml   version   =   "1.0"?>  
  <xsd:schema xmlns:xsd   =   "http://www.w3.org/2001/XMLSchema"  
  xmlns:request   =   "request"   targetNamespace   =   "request"  
  elementFormDefault   =   "qualified">  
   
  <xsd:element   name   =   "REQUEST">  
  <xsd:complexType>  
  <xsd:sequence>  
  <xsd:element   name   =   "USER"   type   =   "xsd:string"   />  
  <xsd:element   name   =   "METHOD"   type   =   "request:METHODNAMES"   />  
  <xsd:element   ref   =   "request:PARAMS"   minOccurs   =   "0"   />    
  </xsd:sequence>  
  </xsd:complexType>  
  </xsd:element>  
   
  <xsd:element   name   =   "PARAMS">  
  <xsd:all>  
  <xsd:element   name   =   "OLDPASSWORD"   type   =   "xsd:string"   minOccurs   =   "0"   />  
  <xsd:element   name   =   "NEWPASSWORD"   type   =   "xsd:string"   minOccurs   =   "0"   />  
  <xsd:element   name   =   "PASSWORD"   type   =   "xsd:string"   minOccurs   =   "0"   />  
  </xsd:all>  
  </xsd:element>  
   
  <xsd:simpleType   name   =   "METHODNAMES">  
  <xsd:restriction   base   =   "xsd:string">  
  <xsd:enumeration   value   =   "ModifyPassword"   />  
  <xsd:enumeration   value   =   "Login"   />  
  </xsd:restriction>  
  </xsd:simpleType>  
   
  </xsd:schema>  
   
  关于PARAMS定义,应该根据method的不同而有不同限制。但这样简单定义也可。  
  PARAMS和METHODNAMES的扩充自己可以照着添加。

NO.3   作者: yu_hl

关于如何将method   name和param关联起来还想不出办法。  
  这个schema比上面那个要好一些,我认为。  
  <?xml   version   =   "1.0"?>  
  <xsd:schema xmlns:xsd   =   "http://www.w3.org/2001/XMLSchema"  
  xmlns:request   =   "request"   targetNamespace   =   "request"  
  elementFormDefault   =   "qualified">  
   
  <xsd:element   name   =   "REQUEST">  
  <xsd:complexType>  
  <xsd:sequence>  
  <xsd:element   name   =   "USER"   type   =   "xsd:string"   />  
  <xsd:element   ref   =   "request:METHODCALL"   />  
  </xsd:sequence>  
  </xsd:complexType>  
  </xsd:element>  
   
  <xsd:element   name   =   "METHODCALL">  
  <xsd:complexType>  
  <xsd:sequence>  
  <xsd:element   name   =   "METHOD"   type   =   "request:METHODNAMES"   />  
  <xsd:element   ref   =   "request:PARAM"   minOccurs   =   "0"   />  
  </xsd:sequence>  
  </xsd:element>  
   
  <xsd:element   name   =   "PARAM">  
  <xsd:complexType>  
  <xsd:attribute   name   =   "NAME"   type   =   "xsd:string"   minOccurs   =   "0"   />  
  <xsd:attribute   name   =   "VALUE"   type   =   "xsd:string"   minOccurs   =   "0"   />  
  </xsd:complexType>  
  </xsd:element>  
   
  <xsd:simpleType   name   =   "METHODNAMES">  
  <xsd:restriction   base   =   "xsd:string">  
  <xsd:enumeration   value   =   "ModifyPassword"   />  
  <xsd:enumeration   value   =   "Login"   />  
  </xsd:restriction>  
  </xsd:simpleType>  
   
  </xsd:schema>  
   
 


 ·百分求助    »显示摘要«
    摘要: 要制作一个新生信息管理系统,要求实现从外部dbf文件中获取数据送到anywhere中,要求由用户从原dbf文件(用户可以选择,不固定)中选择所需字段,从而对应与本系统对应的字段对应(比如:原dbf文件中的字段为:name,hometown,nation,score_total,score1,score2....... ,而本系统只需要name,hometown,nation,score等字......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE