首页 新闻 会员 周边 捐助

两个XML对比 如何实现

0
悬赏园豆:30 [已关闭问题] 关闭于 2014-02-27 10:17

有一个固定的XML文档,当对方传送一个XML时

1、怎么判断它的格式是否正确?就是和我已知的XML对比

2、是否有变动?比如Name,对方传过来的是Names,可以找出来并提示

3、XML文档里面有必填项!怎么验证

 

 

XmlSchemaSet不考虑

 

 

谢谢

XML
PEPE YU的主页 PEPE YU | 初学一级 | 园豆:29
提问于:2014-02-24 17:13
< >
分享
所有回答(1)
0

你说的“格式”,同我们常说的 xml schema(架构)是一个意思吗?

如果是的话,为什么不用 Schema 来完成你的第1、3呢?

你提到的“变动”具体是什么?是值变动,还是架构变动?

Launcher | 园豆:45050 (高人七级) | 2014-02-24 17:19

对方传一个字符串型的xml 

我要和已知的xml对比:

   1、必填项是否填写了,怎么去验证节点是否是必填的

   2、格式是否正确,不正确就要提示他。Schema 可以验证,但是xml各式只要正确,都不会返回错误的,我少一行,多一行是判断不了的

支持(0) 反对(0) PEPE YU | 园豆:29 (初学一级) | 2014-02-26 13:01

@PEPE YU: 

1、你定义 Schema 时,可以定义某个节点必须存在或节点的值必须在某个范围内。

2、你的什么多一行,少一行,能否举例说明。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2014-02-26 13:04

@Launcher: 

 比如我的xml 


<!--证据完整性信息-->
<Integrity>
<!--证据数量,只能填入数字,必填-->
<EvidenceCount>2</EvidenceCount>

<!--证据大小,只能填入数字,以字节为单位,必填-->
<EvidenceSize>1024</EvidenceSize>

<!--数据完整性算法,有多种可选值,必填,目前可选值为:MD5 -->
<Algorithm>MD5</Algorithm>

<!--完整性算法的值,必填-->
<AlgorithmValue></AlgorithmValue>

</Integrity>

 

 

这个里面我少加“<AlgorithmValue></AlgorithmValue>”节点 Schema也不会提示的  这点就不满足了

 

 

还有就是 比如节点 <AlgorithmValue></AlgorithmValue> 我要求是必填的?怎么实现呢

支持(0) 反对(0) PEPE YU | 园豆:29 (初学一级) | 2014-02-26 13:18

@Launcher: 谢谢你的帮忙

 

 

我用Linq to xml  解决了 问题 

 

 

非常感谢

支持(0) 反对(0) PEPE YU | 园豆:29 (初学一级) | 2014-02-27 10:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册