C# bestaand xml bestand wijzigen

Status
Niet open voor verdere reacties.

Magican

Gebruiker
Lid geworden
12 aug 2008
Berichten
13
Hallo,

Ik zit met een probleem en weet niet of ik het hier nou moest posten of bij het xml gedeelte maar ik doe het hier.

Ik heb een xml bestand waarvan ik de waarde wil wijzigen!

Het xml bestand ziet er als volgt uit:
[XML] <?xml version="1.0" encoding="UTF-8" ?>
- <privadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PrivaWriteSchema.xsd">
- <project>
<name>Testproj</name>
<controller>1</controller>
<version>1.0</version>
<creationdate>2012-08-23</creationdate>
</project>
- <group>
<name>Groep</name>
- <element>
<name>Element</name>
- <item>
<name>verwachte buitentemp 16</name>
<rawvalue>192</rawvalue>
<unit>°C</unit>
<write>1</write>
</item>
- <item>
<name>verwachte buitentemp 32</name>
<rawvalue>0</rawvalue>
<unit>°C</unit>
<write>1</write>
</item>
</element>
</group>
</privadata>
- <!-- Page created in 19 ms -->
- <!-- Size: 619bytes Max.Size:30720 bytes --> [/XML]

Nou wil ik in het gedeelte:
[XML]<item>
<name>verwachte buitentemp 32</name>
<rawvalue>0</rawvalue>
<unit>°C</unit>
<write>1</write>
</item>
[/XML]

Rawvalue aanpassen!
Maar openen wil volgens mij wel lukken maar het opslaan en wijzigen krijg ik weinig over gevonden!
Mijn pad om het te openen of opteslaan is : 192.168.10.240/weerstation.xml

En dit xml bestand staat op een PLC (Compri HX).

Hoop dat dit genoeg informatie is en dat het duidelijk is!

Met vriendelijke groet,
magican
 
Laatst bewerkt:
Ik vermoed dat (zoals je het nu uitlegt) de ontvangende kant niets gaat doen met een aangepaste XML. Waarom wil je de XML terugsturen?
 
De ontvangende kant leest het xml bestand uit en voert met het veranderde getal wat ik wil aanpassen berekeningen uit voor het regelen van bijv. airco of verwarming.
 
wat is het protocol om te versturen? ftp? smb? in principe ondersteund C# de meeste vormen wel. met SMB kun je gewoon een save doen naar de gegeven URL en werkt het gewoon zoals een file wegschrijven naar een harddisk
 
Geen idee dat moet ik even onderzoeken nog , maar ik kan er helaas maandag weer mee verder dus tot die tijd zul je moeten wachten helaas.
 
Helaas is dat altijd het geval, maar daar bovenop heb je een protocol nodig voor overdracht. Is er ergens een beschrijving die uitlegt wat je aan moet passen aan de XML en waar staat dat je het terug moet sturen?
 
Ik heb al wat gelezen over http-get en http-post en soap maar snap er nog niet veel van.

het is de bedoeling dat ik raw value kan aanpassen van verwachte buitentemp 32.

[XML]<item>
<name>verwachte buitentemp 32</name>
<rawvalue>0</rawvalue>
<unit>°C</unit>
<write>1</write>
</item>[/XML]

Die 0 zou ik moeten kunnen aanpassen! Maar heb geen idee hoe ik dit zou moeten laten gebeuren!
 
Laatst bewerkt:
Het zou echt helpen om even een link te hebben waar je dat leest. Post en get kan in principe prima maar dan is het transportmiddel HTTP. Het eindpunt moet dan een HTTP server hebben draaien.
 
Zo ben ik weer , ik heb eindelijk uitgevonden dat ik de url moet aanpassen!

Oftwel! als ik "http://192.168.10.240/weerstation.xml?verwachte buitentemp 16=20" dan wordt ''rawvalue'' bij ''verwachte buitentemp 16'' 20.

Maar hoe verzend ik zo'n url? in c#?
 
Heb even geen C# hier, maar zoiets volgens mij

Code:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.10.240/weerstation.xml?verwachte buitentemp 16=20");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
string response = sr.ReadToEnd();

mogelijk heb je de response niet eens nodig. of dat zal een "200 ok" message zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan