Derezzed
Derezzed

Reputation: 1113

Change an XML node value

I have an xml document that looks like this

<?xml version="1.0"?>
<XML>
    <VIDEO>
        <WIDTH>800</WIDTH>
        <HEIGHT>600</HEIGHT>
        <COLORBITS>32</COLORBITS>
        <GAMMA>255</GAMMA>
        <FULLSCREEN>TRUE</FULLSCREEN>
        <REFLECTION>true</REFLECTION>
        <LIGHTMAP>true</LIGHTMAP>
        <DYNAMICLIGHT>true</DYNAMICLIGHT>
        <SHADER>true</SHADER>
        <CHARACTORTEXTURELEVEL>0</CHARACTORTEXTURELEVEL>
        <MAPTEXTURELEVEL>0</MAPTEXTURELEVEL>
        <EFFECTLEVEL>0</EFFECTLEVEL>
        <TEXTUREFORMAT>1</TEXTUREFORMAT>
        <NHARDWARETNL>false</NHARDWARETNL>
    </VIDEO>    
</XML>

I want to change the value of the "MAPTEXTURELEVEL" node from 0 to 6 using the checked statement of a checkbox in a C# application, but I really have no idea of how I can do it.

Upvotes: 5

Views: 3484

Answers (1)

alf
alf

Reputation: 18550

I don't have VS to test it, but it should be something like this using LINQ to XML:

var doc = XDocument.Load("video.xml");
doc
    .Element("XML")
    .Element("VIDEO")
    .SetElementValue("MAPTEXTURELEVEL", 6);
doc.Save("video_modified.xml");

Hope it helps!

Upvotes: 5

Related Questions