Я новичок в XML и XPath в C #. Вот пример моего документа XML:
<root>
<folder1>
...
<folderN>
...
<nodeMustExist>...
<nodeToBeUpdated>some value</nodeToBeUpdated>
....
</root>
Мне нужно обновить значение nodeToBeUdpated, если узел существует, или добавить этот узел после nodeMustExist, если nodeToBeUpdated не существует. Прототип функции выглядит примерно так:
void UpdateNode(
xmlDocument xml,
string nodeMustExist,
string nodeToBeUpdte,
string newVal
)
{
/*
search for XMLNode with name = nodeToBeUpdate in xml
to XmlNodeToBeUpdated (XmlNode type?)
if (xmlNodeToBeUpdated != null)
{
xmlNodeToBeUpdated.value(?) = newVal;
}
else
{
search for nodeMustExist in xml to xmlNodeMustExist obj
if ( xmlNodeMustExist != null )
{
add xmlNodeToBeUpdated as next node
xmlNodeToBeUpdte.value = newVal;
}
}
*/
}
Может быть, есть другой лучший и упрощенный способ сделать это. Любой совет?
Кстати, если nodeToBeUpdated появляется более одного раза в других местах, я просто хочу обновить первое.