I need to change an element value that is dependent on the STEP value.
MarkPosition or
ControlPosition
Can I pre-select better with XPathSelectElements? If so, how?
<STEP value="MarkPosition">
<STEP value="ControlPosition">
<SIDE1>
<POSITIONS>
<POSITION>
<NUMBER value="1" />
<PROCESS>
<STEP value="MarkPosition">
<PARAMETERSET1 value="NEW Value" />
<PARAMETERSET2 value="ParameterOK_1" />
</STEP>
<STEP value="ControlPosition">
<PARAMETERSET1 value="default_1" />
<PARAMETERSET2 value="" />
</STEP>
</PROCESS>
</POSITION>
<POSITION>
<NUMBER value="2" />
var elements = xDocProgram.XPathSelectElements("//SIDE1/POSITIONS/POSITION/PROCESS"); //[@value]");
string name = "";
string text = "";
string value = "";
foreach (XElement element in elements)
{
name = element.Name.LocalName;
if (name == "PROCESS")
{
foreach (XElement elementProcess in element.Elements())
{
name = elementProcess.Name.LocalName;
if (name == "STEP")
{
value = elementProcess.Attribute("value").Value;
if (value == "MarkPosition")
{
foreach (XElement elementParameter in elementProcess.Elements())
{
name = elementParameter.Name.LocalName;
if ( name == "PARAMETERSET1" )
elementParameter.Attribute("value").Value = "NEW Value";
}
}
}
}
}
}
xDocProgram.Save(currentProgramGoal); // save with <?xml version="1.0" encoding="utf-8"?>
// Is it possible without this define?
If I save again I should do it without XML definition. Can I deactivate this, if so where and how?