schema也是一段XML,是用来规范其他XML用的。所以,你可以通过schema来判断一个XML是否符合你的要求。并不是用schema来parse你的XML.
因此,你要既知道xml节点的值,又要知道xml节点的类型。只有让目标XML自描述。也就是说每个节点都有一个,type的属性。或者,你在利用schema检查xml的时候,自己编程加入type属性。这样经过schema检查的xml就可以自描述。你在取节点的时候,把它的type属性值也取出,就可以了。<strTest type = string>fsdfshfsdkf</strTest>

解决方案 »

  1.   

    我知道您的意思,
    我现在就是想问这段编程的思路,是把类型和数据都放到一个对象里呢,还是对每一个数据再去取它的类型呢?
    是不是有合适的API可以减少我的劳动呢?
      

  2.   

    我不是已经说了思路了吗?
    假设你的Xml不是自描述,也就是形如“<Test>sdfsdfsd</Test>”。这个时候你手上也有这段xml的schema(也是一段XML),要schema的目的就是为了检查目标xml是否符合规范。所以,你肯定要去用schema检查你的XML。这个时候,你在确定你的目标XMl是否是良构的时候,给他加上类型信息,如<strTest type = string>fsdfshfsdkf</strTest>。这样产生的XMl就是可以自描述的了。也就是说我支持你前面的看法。把类型和数据都放到一个元素。
      

  3.   

    谢谢您,我有两点疑惑就是,
    我如何把属性加到xml里;
    当我在java里得到这个信息以后,要把他转换成对应的类型,是不是要做一个对所有类型的判断,才能转换,
    case date:
    case int:
    case float:
    case ......
      

  4.   

    你还是没有明白,我的意思是说在你通过schema检查目标文件的有效性的时候,你肯定要遍例整个目标XML的,这个时候schema又在内存中,供你差遣。你不是可以很自然的为每个元素加上类型属性了吗?这只是我的想法。
      

  5.   

    可是check只要一个API就可以解决了啊,自己CHECK是不是太累了啊
      

  6.   

    Norwaywoods()的想法有一定可行性,但不知如果编程实现,关注