Jump to content

Recommended Posts

Posted

<?xml version="1.0" encoding="UTF-8" ?>
<user>
<login>
  <name></name>
  <autologin>0</autologin>
  <pwd>0</pwd>
  <language>en</language>
  <skin>SkinBlack</skin>
</login>
<network tcp="0" udp="1513" used="1">
  <upnp>1</upnp>
</network>
</user>

It's my string, i want to read what is between <skin> and </skin>. in this string i should read "SkinBlack".

It's my code so far, i can find where is it but i cant read it.

$String = FileReadLine(FileOpen("user.xml"),8)
$First = StringInstr($String,"<skin>")
$Last = StringInstr($String,"</skin>")
MsgBox(0,"", "I should read from " & $First + 6 & " to " & $Last & " in line 8.")

Best Regards.

Posted

you can download which will help you to do this.

i will do like this

#include "_XMLDomWrapper.au3"
$open = _XMLFileOpen(@DesktopDir & "\1.xml")
$skin = _XMLGetChildText("/user/login/skin")
MsgBox(0,"",$skin[1])

Thank you,Regards,[font="Garamond"][size="4"]K.Syed Ibrahim.[/size][/font]

  • Moderators
Posted

D4RKON3,

Try this: :graduated:

$sText = '<?xml version="1.0" encoding="UTF-8" ?>' & @CRLF & _
         '<user>'                                  & @CRLF & _
         '<login>'                                 & @CRLF & _
         '  <name></name>'                         & @CRLF & _
         '  <autologin>0</autologin>'              & @CRLF & _
         '  <pwd>0</pwd>'                          & @CRLF & _
         '  <language>en</language>'               & @CRLF & _
         '  <skin>SkinBlack</skin>'                & @CRLF & _
         '</login>'                                & @CRLF & _
         '<network tcp="0" udp="1513" used="1">'   & @CRLF & _
         '  <upnp>1</upnp>'                        & @CRLF & _
         '</network>'                              & @CRLF & _
         '</user>'

$sSkin = StringRegExpReplace($sText, "(.*\v)*(\s)*<skin>(.*)<\/skin>(\v.*)*", "$3")

MsgBox(0, "Skin", $sSkin)

Clever things SREs! ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

Posted (edited)

$sText = '<?xml version="1.0" encoding="UTF-8" ?>' & @CRLF & _
  '<user>' & @CRLF & _
  '<login>' & @CRLF & _
  '  <name>My name</name>' & @CRLF & _
  '  <autologin>Yes</autologin>' & @CRLF & _
  '  <pwd>No</pwd>' & @CRLF & _
  '  <language>en</language>' & @CRLF & _
  '  <skin>SkinBlack</skin>' & @CRLF & _
  '</login>' & @CRLF & _
  '<network tcp="0" udp="1513" used="1">' & @CRLF & _
  '  <upnp>33</upnp>' & @CRLF & _
  '</network>' & @CRLF & _
  '</user>'
Dim $aTags[7] = [6, 'name', 'autologin', 'pwd', 'language', 'skin', 'upnp']
For $i = 1 To $aTags[0]
$sSearch = StringRegExpReplace($sText, '(?s).*?<' & $aTags[$i] & '>(.*?)</' & $aTags[$i] & '>?.*', '$1')
If @extended = 1 Then
  MsgBox(0, $aTags[$i], $sSearch)
Else
  MsgBox(16, 'Error', 'StringRegExpReplace')
EndIf
Next

Edited by madmasles

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...