如何在XML文件中搜索两个连续元素

时间:2017-09-16 04:06:32

标签: xml informatica-powercenter

我有一个XML文件,其中每个客户端ID有两个主要元素EmailInfo和PhoneInfo,文件有大约10万个这样的客户端,但由于在某些情况下缺少PhoneExt标记,该文件在其他系统中失败。

如何搜索电话号码结束标记和电话联系时间代码开放标记是否一起出现在另一个之下。

<CXToCifConversionItem>
    <SrcSysCliId>02AC04</SrcSysCliId>
        <CXEmailInfo>
          <EmailAddrCntxtCd>H</EmailAddrCntxtCd>
          <EmailAddrStatCd>CX</EmailAddrStatCd>
          <EmailAddrNm>firstname.lastname@gmail.com</EmailAddrNm>
          <CXEmailUpdtTmstmp>2016-11-08 11:28:41.557000</CXEmailUpdtTmstmp>
        </CXEmailInfo>

        <CXPhonInfo>
          <PhonAddrCntxtCd>H</PhonAddrCntxtCd>
          <PhonTypCd>V</PhonTypCd>
          <PhonAreaCd>506</PhonAreaCd>
          <PhonNum>1234567</PhonNum>
          <PhonExtNum></PhonExtNum>
          <PhonCntctTmCd>EVE</PhonCntctTmCd>
          <PhonFrmtCd></PhonFrmtCd>
          <ForgnPhonNum></ForgnPhonNum>
          <CXPhonUpdtTmstmp>2003-01-29 17:58:06.197000</CXPhonUpdtTmstmp>
        </CXPhonInfo>
      </CXToCifConversionItem>

1 个答案:

答案 0 :(得分:0)

在notepad ++中,您可以使用正则表达式进行搜索:

</PhonNum>\x0D\x0A\ *<PhonCntctTmCd>

\ x0D - 匹配回车符(CR,\ r)

\ x0A - 匹配换行符(LF,\ n)

\ * - 匹配零个或多个空格字符

请注意,如果您使用的是Unix平台,则必须仅使用Linefeed。