C# form 比较两段文本的差异
Rt有两段XML报文,要比较其格式的区别<PayBankName>内容这里</PayBankName>基本是这样的,思路是分别提取出两段文字的带<>的部分比较,就是忽略下...
Rt有两段XML报文,要比较其格式的区别
<PayBankName>内容这里</PayBankName>基本是这样的,思路是分别提取出两段文字的带<>的部分比较,就是忽略下内容,求解 展开
<PayBankName>内容这里</PayBankName>基本是这样的,思路是分别提取出两段文字的带<>的部分比较,就是忽略下内容,求解 展开
3个回答
展开全部
使用 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中是同义的,但是在字符串比较中处理不好就是不同的
展开全部
不是有个schema的嘛,用那个做格式限制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你贴出两段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]+$")
{
//// 节点值,格式验证.....
}
}
手写代码 么有验证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询