C# form 比较两段文本的差异

Rt有两段XML报文,要比较其格式的区别<PayBankName>内容这里</PayBankName>基本是这样的,思路是分别提取出两段文字的带<>的部分比较,就是忽略下... Rt有两段XML报文,要比较其格式的区别
<PayBankName>内容这里</PayBankName>基本是这样的,思路是分别提取出两段文字的带<>的部分比较,就是忽略下内容,求解
展开
 我来答
哲事姓无
2012-11-27 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:442万
展开全部
使用 System.Xml.XmlDocument 或是 System.Xml.XPath.XPathDocument 载入标准xml及比较xml,然后枚举出标准xml中的所有节点,然后在枚举节点的时候查询比较xml中是否有相应的节点。
追问
T T你看我问问题这水平能会用XmlDocument吗...我的思路是把Xml粘贴进一个textbox中,然后从中只提出节点信息存入一个字符串中(就是带的内容)然后比较这两个字符串,是不是要用正则什么的..我还是没入门菜鸟呢
追答
你说的是一个方法,但是不完美,可能遇到一些特殊情况。而且你使用正则来解析字符串的话,等于是自己写一个简单的xml解析器,为什么不用专门的xml解析器进行解析呢。XmlDocument不算很难。

xml 比较特殊看下面的列子

标准xml中的
192134
比较xml中的

标准xml中的

比较xml中的如果换个位置

以上xml中是同义的,但是在字符串比较中处理不好就是不同的
Degreying
2012-11-27 · TA获得超过294个赞
知道答主
回答量:168
采纳率:0%
帮助的人:116万
展开全部
不是有个schema的嘛,用那个做格式限制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leon382
2012-11-27 · TA获得超过1064个赞
知道小有建树答主
回答量:1744
采纳率:0%
帮助的人:985万
展开全部
你贴出两段xml 来看看
是不是只需要解析出某一个节点的数据进行对比呢?
追问

其实就是比较另一个报文符合不符合这个报文的规范

追答

这个问题其实可以分解
既然是对比xml 看他是否满足我规范的定义
只需解析出每一个 xml 节点,看他是否和我定义相符合
比如

var items = doc.Descendants("DetailList");
var items = doc.Descendants("DetailList");
foreach (var item in items)
{
var payBankCode=item.Element("PayBankCode");
if(payBankCode==null )

//// 没有节点

else if (payBankCode.value=="")
{
//// 节点没有值
}
else if(Regex.IsMatch(payBankCode.value, @"^[\d]+$")
{
//// 节点值,格式验证.....
}
}

手写代码 么有验证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式