Community
    • Login

    How to Print Pretty with missing close tags.

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    3 Posts 2 Posters 71 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Doctor RashirD
      Doctor Rashir
      last edited by

      I am looking at a Quicken QFX log file that is in a sort of XML type format. The format has many missing End tags so this causes the XML Tools - Pretty Print to indent nearly forever.

      Is there a way to align the Start and End tags that are present?

      For example in the following code how do I align the bolded lines:

      <OFX>
      	<SIGNONMSGSRQV1>
      		**<SONRQ>**
      			<DTCLIENT>20250520104016.123[-7:MST]
      				<USERID>anonymous00000000000000000000000
      					<USERPASS>X
      						<GENUSERKEY>N
      							<LANGUAGE>ENG
      								<APPID>QWIN
      									<APPVER>2700
      									**</SONRQ>**
      						</SIGNONMSGSRQV1>
      						<INTU.BRANDMSGSRQV1>
      							<INTU.BRANDTRNRQ>
      								<TRNUID>19FFC8F0-7EF9-1000-BC8D-909811990026
      									<INTU.BRANDRQ>
      
      

      I am running on Win 11, latest update and Np++ v8.8.3

      PeterJonesP 1 Reply Last reply Reply Quote 0
      • PeterJonesP
        PeterJones @Doctor Rashir
        last edited by

        @Doctor-Rashir said in How to Print Pretty with missing close tags.:

        I am looking at a Quicken QFX log file that is in a sort of XML type format. The format has many missing End tags so this causes the XML Tools - Pretty Print to indent nearly forever.

        Is there a way to align the Start and End tags that are present?

        XML Tools is designed to work with well-formed XML. If it’s not well-formed (ie, unclosed tags), it’s just too much of an edge case. It’s doubtful there’s any toolmaker out there who could figure out a way to “pretty print” a seemingly-random mixture of closed and unclosed tags in any meaningful way.

        If you were to unindent everything (Ctrl+A, then Shift+TAB until it’s gone, or search for ^\h+ and replace with nothing), then if you knew in advance which tags (like <SONRQ>) had closing pairs, you could use the zone-of-text regex forumula from our FAQ, as:

        • FIND = (?-si:<SONRQ\b|(?!\A)\G)(?s-i:(?!</SONRQ\b).)*?\K(?-si:^(?!\h*</SONRQ))
          REPLACE = \t
          REPLACE ALL

        If I do three steps: unindent, formula(SONRQ) and formula(SIGNONMSGSRQV1), then with your example data, I get

        <OFX>
        <SIGNONMSGSRQV1>
        	<SONRQ>
        		<DTCLIENT>20250520104016.123[-7:MST]
        		<USERID>anonymous00000000000000000000000
        		<USERPASS>X
        		<GENUSERKEY>N
        		<LANGUAGE>ENG
        		<APPID>QWIN
        		<APPVER>2700
        	</SONRQ>
        </SIGNONMSGSRQV1>
        <INTU.BRANDMSGSRQV1>
        <INTU.BRANDTRNRQ>
        <TRNUID>19FFC8F0-7EF9-1000-BC8D-909811990026
        <INTU.BRANDRQ>
        

        I don’t know how many other closed tags there are in your file, so I don’t know whether that’s practical for you or not. But it’s the best I can come up with for now, without invoking a full-on programming language (at which point, it could be done in the contents of the Notepad++ window using a plugin like PythonScript, or it could just be done at the command-line with whatever programming language you wanted to use, without needing the file to be open in Notepad++, and thus make it off-topic here)

        I did try to make use of a numbered or named capture group in the BSR section and use a backreference to make the BSR and FR invoke those (see the FAQ for the meaning of BSR / ESR / FR), rather than having to know in advance the names of all the tags… but I couldn’t get those backreference versions to work.

        Doctor RashirD 1 Reply Last reply Reply Quote 1
        • Doctor RashirD
          Doctor Rashir @PeterJones
          last edited by

          @PeterJones
          I really appreciate what you’ve posted. There are many closed tags. And many open tags.
          I’m just trying to analyze the error I’m encountering with Quicken. I’ll look at what you propose but I have to determine how much work it is to fix or just the ones important to my analysis of the log.

          Thanks again.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          The Community of users of the Notepad++ text editor.
          Powered by NodeBB | Contributors