Jump to content

Search the Community

Showing results for tags 'beautify'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 1 result

  1. ..so I got Notepad++ but was not working with the xml printing plugin, the online beautifiers would no work all the time, and I wanted like Tidy does with tabs so it looks nice in Scite to look at the code and make my own template for a script I'm working on....very frustrating and time consuming, so, I put this code together. I get in a 10th of a sec. the xml prettified vs. minutes and frustration. Anyway, how I use it is I drag and drop the word doc. ( saved in XML format ) to scite , copy to the clipboard ( ctrl-A, ctrl-C ) , switch to this code, press F5 and I'm happy If Not StringInStr($CmdLineRaw, "/ErrorStdOut") And Not @Compiled Then Exit MsgBox( 262144 , @ScriptName, "please run from Editor", 10) Local $s = ClipGet() If Not StringInStr($s, '<?mso-application progid="Word.Document"?>') Then Exit MsgBox(262144, StringTrimRight(@ScriptName, 4), "tested only in Word.Document XML" & @CR & @CR & "no changes made to clipboard", 20) Local $sOut = msWordXML_Beautify($s, 2) ; 2=return as beautified string, 1=ConsoleWrite beautified string, 0=return beautified array ClipPut($sOut) MsgBox(262144, StringTrimRight(@ScriptName, 4), "clipboard content replaced by beautified XML", 2) Func msWordXML_Beautify($s, $iEcho = 0) Local $iTimer = TimerInit() $s = StringReplace($s, @CR, '') $s = StringReplace($s, @LF, '') Local $a = StringSplit($s, "<") Local $b[$a[0] * 2] Local $i = 0, $c = "" For $x = 1 To $a[0] If StringReplace($a[$x], @TAB, "") = "" Then ContinueLoop If StringInStr($a[$x], ">") Then $a[$x] = StringReplace($a[$x], @TAB, '') $c = StringSplit($a[$x], ">") If UBound($c) < 2 Then ContinueLoop For $y = 1 To $c[0] If $y = 1 Then $i += 1 $b[$i] = "<" & $c[$y] & ">" Else If $c[$y] = "" Then ContinueLoop $i += 1 $b[$i] = $c[$y] EndIf Next Next ReDim $b[$i + 1] $b[0] = $i For $x = 3 To $b[0] If Not StringInStr($b[$x - 1], ">") Then $b[$x] = $b[$x - 2] & $b[$x - 1] & $b[$x] $b[$x - 2] = "<>" $b[$x - 1] = "<>" EndIf Next Dim $c[$b[0] + 1] $i = 0 For $x = 1 To $b[0] If $b[$x] = "<>" Then ContinueLoop $i += 1 $c[$i] = $b[$x] Next $b = $c $c = "" ReDim $b[$i + 1] $b[0] = UBound($b) - 1 Local $tabs = "" For $x = 1 To $b[0] $b[$x] = StringStripWS($b[$x], 3) If StringLeft($b[$x], 2) = "<!" Then ContinueLoop If StringLeft($b[$x], 2) = "<?" Then ContinueLoop If StringLeft($b[$x], 1) = "<" And StringRight($b[$x], 2) = "/>" Then $b[$x] = $tabs & $b[$x] ContinueLoop EndIf If StringLeft($b[$x], 2) = "</" And StringRight($b[$x], 1) = ">" Then $tabs = StringTrimRight($tabs, 1) $b[$x] = $tabs & $b[$x] ContinueLoop EndIf If StringLeft($b[$x], 1) = "<" And StringRight($b[$x], 1) = ">" And Not StringInStr($b[$x], '</') Then $b[$x] = $tabs & $b[$x] $tabs &= @TAB ContinueLoop EndIf $b[$x] = $tabs & $b[$x] Next ConsoleWrite('+ msWordXML_Beautify done in about ' & Round(TimerDiff($iTimer), 5) & ' mSec.' & @CRLF) Local $sOut = "" If $iEcho Then For $x = 1 To $b[0] If $iEcho = 1 Then ConsoleWrite( $b[$x] & @CRLF ) Else $sOut &= $b[$x] & @CRLF EndIf Next EndIf If $iEcho = 2 Then Return $sOut Return $b EndFunc ;==>msWordXML_Beautify ..hope it saves time to someone. Edit 1: it works nice with <?mso-application progid="Excel.Sheet"?>, it may just work with any XML, no clue. Edit 2: fixed an error in the code
×
×
  • Create New...