加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于Xml数据处理上应用,进一步正则处理

发布时间:2020-12-16 05:09:29 所属栏目:百科 来源:网络整理
导读:看着标题说实在的有些小绕口,许久不写文章了,但是在身边有许多用到的小知识点点,还是记录一下。 今天在处理一个商家接口时,返回数据级其有意思,在产生定单信息时候,一个订单包含多个商品的时候XML的描述大体是这样的。 例如: orders row1 order_time2


看着标题说实在的有些小绕口,许久不写文章了,但是在身边有许多用到的小知识点点,还是记录一下。

今天在处理一个商家接口时,返回数据级其有意思,在产生定单信息时候,一个订单包含多个商品的时候XML的描述大体是这样的。

例如:

<orders>
        <row1>
            <order_time>2014-01-07 16:06:49</order_time>
            <item_name>Verera维芙雅 祛痘控油水100ml</item_name>
            <ext>E100020402|ad12123</ext>
            <order_id>20140107712606</order_id>
            <order_updtime>2014-01-07 16:06:49</order_updtime>
        </row1>
        <row2>
            <order_time>2014-01-07 16:06:49</order_time>
            <item_name>Verera维芙雅 祛痘控油水100ml</item_name>
            <ext>E100020402|ad12123</ext>
            <order_id>20140107712606</order_id>
            <order_updtime>2014-01-07 16:06:49</order_updtime>
        </row2>
        <row3>
            <order_time>2014-01-07 16:06:49</order_time>
            <item_name>Verera维芙雅 祛痘控油水100ml</item_name>
            <ext>E100020402|ad12123</ext>
            <order_id>20140107712606</order_id>
            <order_updtime>2014-01-07 16:06:49</order_updtime>
        </row3>
    </orders>







这是一个局部的XML,其实看到这样一个XML去解析并非难事,但是对于开发系统而言,单独去解析有些浪费。

其实我原三就是将XML反序列化为指定Model就行了,这样很容易做到,只是将Model属性做成XmlRoot 或者xmlelament xmlAttribute就行了,要看具体是什么属性。

但是对于Row+Number,呃,行不通了。于是我想到了正则替换。

在我的调试下的确可以实现,今天就是为了记录正则替换,

             Regex regex =new Regex(@"<row(d+)>(.*?)</row1>");

            string replaceAfter = regex.Replace(args,@"<row>$2</row>");

非常方便,这种替换在Net里面叫后向引用替换,大家可以尝试一下。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读