Использование TinyXml2 можно изменить текстовое значение всех элементов, как это:Портирование TinyXml2 код C# XmlDocument заменить текстовые значения в элементах
void CAssignHistoryDlg::UpdateNameAssignHistXML(tinyxml2::XMLElement* pElement, CString strExistingName, CString strReplacementName)
{
TIXMLASSERT(pElement);
USES_CONVERSION;
if (pElement != NULL)
{
CString strText(CA2CT(pElement->GetText(), CP_UTF8));
if (strText.CollateNoCase(strExistingName) == 0)
pElement->SetText(CT2CA(strReplacementName, CP_UTF8));
}
for (tinyxml2::XMLElement* pChildElement = pElement->FirstChildElement(); pChildElement != NULL; pChildElement = pChildElement->NextSiblingElement()) {
UpdateNameAssignHistXML(pChildElement, strExistingName, strReplacementName);
}
}
Но если я использую C# и XmlDocument
вместо хау я иду об одном и том же? Я просто хочу прочитать XML-файл, найти любые элементы, где текстовое значение AAA и заменить его на BBB, а затем сохранить его?
спасибо.
спасибо. Итак, как мы читаем XML-файл с ПК в этот «XElement»? А потом после операции сохранить его? Спасибо. –
@AndrewTruckle Я отредактировал сообщение. –
Спасибо. Для вашего первого 'if (doc.Value == oldValue)', что именно он проверяет? Корневой узел? –