webForumDet fria alternativet

Update

6 svar · 478 visningar · startad av icaaq

icaaqMedlem sedan okt. 20004 910 inlägg
#1

jag har

[red]
<site>
 <personligt>
  <brev>[b]Testar Vad som händer[/b]</brev> 
 </personligt>
</site>
[/red]

hur gör jag för att byta ut den feta texten mot variabeln strBrev, när jag använder mig av XMLDOM i asp/VBScript

Tacksam för svar?

SPiNMedlem sedan mars 20005 832 inlägg
#2

Något sånt här, skulle jag gissa på:

Dim xmlDoc, xmlNode, xmlString
set xmlDoc = Server.CreateObject ( "MSXML2.DOMDocument" )
xmlDoc.async = False

set xmlNode = xmlDoc.documentElement.childNodes.item ( 0 )
' Följande rad [b]hämtar[/b] värdet på noden
xmlString = xmlNode.childNodes.item ( 0 ).text

' Följande rader sätter ett nytt värde med variabel
xmlString = "Nytt värde"
xmlNode.childNodes.item ( 0 ).text = xmlString

Har inte testat själv, men förhoppningsvis fungerar det. :)

icaaqMedlem sedan okt. 20004 910 inlägg
#3

Jag försökte fixa lite efter mina behov men jag fick

**msxml3.dll error '80004005'

This operation can not be performed with a Node of type XMLDECL.

/cv/admin/pb.asp, line 144**

och då använder jag

[red]
Dim strBrev 'String
	strBrev = Trim(Request.Form("brev"))
'***************************
	'Letar reda på settings.xml
	strSourceFile = "G:\webbapplikationer\cv\admin\settings.xml"

	
	Dim xmlDoc, xmlNode, xmlString
	set objXML = Server.CreateObject ( "MSXML2.DOMDocument" )
	objXML.async = False
	objXML.load(strSourceFile)
	set xmlNode = objXML.documentElement.selectSingleNode("personligt")
	' Följande rad <B>hämtar</B> värdet på noden

	' Följande rader sätter ett nytt värde med variabel

	[b]objXML.childNodes.item ( 0 ).text = strBrev[/b]

	
	objXML.save(strSourceFile)
[/red]

har jag gjort nått knas?

icaaqMedlem sedan okt. 20004 910 inlägg
#4

Med @nders hjälp fixade jag till det......så här blev det

[red]
' Kollar om det är en "postback"
If Request.Form > "" Then

'****************************
	'Dimmar variabler
	Dim strBrev 'String
	Dim objXML 'object
	Dim objXMLNode 'object
'***************************
	'Lägger in värdet i strBrev ifrån formuläret 	
	strBrev = Trim(Request.Form("brev"))

	'Letar reda på settings.xml
	strSourceFile = "G:\webbapplikationer\cv\admin\settings.xml"

	'Skapar XMLobjektet
	Set objXML1 = Server.CreateObject("Microsoft.XMLDOM")
	objXML1.async = False
	objXML1.load(strSourceFile)
	set objXMLNode = objXML1.documentElement.selectSingleNode("personligt")

	' Följande rader sätter ett nytt värde med variabel
	objXMLNode.childNodes.item ( 0 ).text = strBrev

	'Sparar allt...
	objXML1.save(strSourceFile)
	
	
	'Förstör objektet
	Set objXMLNode = Nothing
	Set objXML1 = Nothing
	Response.Redirect "add.asp"
	
Else
Call Page
End If
[/red]
icaaqMedlem sedan okt. 20004 910 inlägg
#5

Nästa fråga:

Vad är skillnaden på

[red]
Server.CreateObject ( "MSXML2.DOMDocument" )
[/red]

och

[red]
Server.CreateObject("Microsoft.XMLDOM")
[/red]
icaaqMedlem sedan okt. 20004 910 inlägg
#6
[red]
'skapar en ny node	
		xmlNode =	"<portfolios>" & Chr(13) & Chr(10) & Chr(9) &_
					"<bild>"& strBild &" </bild>" & Chr(13) & Chr(10) & Chr(9) &_
					"<url>"& strUrl &" </url>" & Chr(13) & Chr(10) & Chr(9) &_
					"<namn>"& strNamn &"</namn>" & Chr(13) & Chr(10) & Chr(9) &_
					"<beskrivning>"&strBeskrivning &"</beskrivning>" & Chr(13) & Chr(10) &_
					"</portfolios>"
		
		'Letar reda på settings.xml
		strSourceFile = "D:\Inetpub\Externa\icaaq\cv\admin\settings.xml"

		'Skapar ett XML-objekt
		Set objXML1 = Server.CreateObject("Microsoft.XMLDOM")
		
		'lägger in setting.xml i minnet
		objXML1.load(strSourceFile)
		
		'Letar reda på <portfolio>
		Set rootTerms = objXML1.documentElement.selectSingleNode("portfolio")
		
		'Skapar ett till XMLobjekt och lägger in den nya noden i den
		Set objXML2 = Server.CreateObject("Microsoft.XMLDOM")
		objXML2.load(xmlNode)
		Set rootNewNode = objXML2.documentElement
		
		'Lägger in den nya noden i xmlfilen
		[b]rootTerms.appendChild(rootNewNode)[/b]
		
		'Sparar allt
		objXML1.save(strSourceFile)
[/red]

jag får:
**error '80070057'
The parameter is incorrect.

/cv/admin/add/portf.asp, line 186**

vad är fel........jag har ju skrivit av detta exempel..... :OO

icaaqMedlem sedan okt. 20004 910 inlägg
#7

jag hade glömt objXML2.loadxml

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb