Jump to content

getSetupValue liefert aus userdata.xml keinen Wert zurueck


Findus

Recommended Posts

musicDir = dcom.getSetupValue("MusicShares", "Sharepath0", ""); liefert immer null zurueck

fuer andere Werte die in setup.xml enthalten sind, kommen richtige Werte zurueck.

 

die userdata.xml sieht wie folgt aus..

 

<?xml version="1.0" encoding="UTF-8" ?>

- <settings>

- <section name="MusicShares">

<entry name="Sharename0">MP3</entry>

<entry name="Sharepath0">C:\Transfer\Pri\MP3</entry>

<entry name="Pincode0">-1</entry>

</section>

</settings>

 

Gruss

Findus

Edited by Findus
Link to comment
  • 2 years later...
Gets a value from the setup.xml of the DVBViewer.

 

Für mich ist die Doku hier eindeutig ;)

Du übergibst ja auch gar nicht aus welcher xml Datei gelesen werden soll => es wird immer die setup.xml verwendet.

Zurückgegeben werden sollte in deinem Fall: "" (bzw. immer der als default definierte Wert => s. Doku)

 

 

XML-Parser gibt es für fast jede Sprache.

Welche verwendest du?

Edited by nuts
Link to comment

Da XML etwas gewöhnungsbedürftig ist hier mal ein Beispiel (autoit mit _XMLDomWrapper.au3):

 

#include <_XMLDomWrapper.au3>
#include <Array.au3>

main()



Func main()
Local $sFile = @ScriptDir & "\test.xml"
If FileExists($sFile) Then
	$ret = _XMLFileOpen($sFile)
	If @error Then MsgBox(1, "", @error)

	$wert = _XMLGetValue('/settings/section[@name="Card"]/entry [@name="Unicast"]')
	;$wert= _XMLGetAttrib('/settings/section[@name="Unicast Network Device"]');/section[@name="Card"]/entry [@name="Unicast"]')
	If IsArray($wert) Then
		MsgBox(4096, "", $wert[1])
		_ArrayDisplay($wert)
	EndIf
Else
	MsgBox(4096, "fehler", "file not found")
EndIf
EndFunc   ;==>main

 

und die xml dazu:

<?xml version="1.0" encoding="UTF-8"?>
<settings>
<section name="Card">
	<entry name="IPTV">0</entry>
	<entry name="Unicast">2</entry>
	<entry name="Multicast">0</entry>
	<entry name="Filedevice">0</entry>
</section>
<section name="Unicast Network Device">
	<entry name="DVBServerIP">192.168.1.100</entry>
	<entry name="ServerPort">4022</entry>
	<entry name="UnicastIP">192.168.1.100</entry>
	<entry name="UnicastPort">3456</entry>
	<entry name="UnicastNic">0.0.0.0</entry>
	<entry name="UCBuffers">7</entry>
</section>
<section name="Unicast Network Device 2">
	<entry name="DVBServerIP">192.168.1.100</entry>
	<entry name="ServerPort">4022</entry>
	<entry name="UnicastIP">192.168.1.100</entry>
	<entry name="UnicastPort">3456</entry>
	<entry name="UnicastNic">0.0.0.0</entry>
	<entry name="UCBuffers">7</entry>
</section>
</settings>

 

Hier gibts die _XMLDomWrapper.au3: http://www.autoitscript.com/forum/topic/19848-xml-dom-wrapper-com/

Edited by nuts
Link to comment

Hi,

 

ich hab das mit vb.net gelöst.

 

    
   Friend Sub getMediaDir()

       If myDVB Is Nothing Then Exit Sub

       Dim UserConfig As String = myDVB.DataManager.Value("#configfolder") & "userdata.xml"
       Dim x0 As New Xml.XmlDocument
       x0.Load(UserConfig)

       For Each elem As Xml.XmlElement In x0.SelectNodes("/settings/section")
           Select Case elem.Attributes("name").Value
               Case "MusicShares"
                   For Each elem1 As Xml.XmlElement In elem.ChildNodes
                       Select Case elem1.Attributes("name").Value
                           Case "Sharepath0"
                               AudioDir = elem1.ChildNodes(0).Value
                       End Select
                   Next
               Case "MovieShares"
                   For Each elem1 As Xml.XmlElement In elem.ChildNodes
                       Select Case elem1.Attributes("name").Value
                           Case "Sharepath0"
                               VideoDir = elem1.ChildNodes(0).Value
                       End Select
                   Next
           End Select
       Next
   End Sub

Edited by sater
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...