Как добавить такие атрибуты в XML-узел: mq:nodename=""
Мне нужно экспортировать измененный xliff-файл из моего инструмента c#, но во время модификации вместо него используется другой предварительный тег, который я хочу использовать:
То, что я хочу показать, это:
mq:статус=""
Что я получаю:
p8:статус=""
Я попытался прочитать после этого, и теперь я знаю, что предварительные теги каким-то образом связаны с пространствами имен, но не знаю, как я могу изменить его или добавить "предварительный тег", который я хочу.
Что я уже пробовал:
Это код, который должен изменить содержимое файла:
XDocument doc = XDocument.Load(filePath); XElement xliff = (XElement)doc.FirstNode; XNamespace ns = xliff.Name.Namespace; var testid = xliff.Descendants(ns + "trans-unit"); foreach (var item in testid) { var iD = Convert.ToInt16(item.FirstAttribute.Value) - 1; item.SetAttributeValue(ns + "status", units[iD].Status); item.SetAttributeValue(ns + "locked", units[iD].isLocked); } doc.Save(destination + "\\EXPORT.mqxliff");
Richard MacCutchan
Что там внутри ns
когда вы запускаете код?
Member 13050667
это линия: Имя_пространства_имен = "урна:оазис:названия:ТС:формат XLIFF:документ:1.2"
Richard MacCutchan
1. Это не ответ на мой вопрос.
2. эта строка кода не существует в приведенном выше фрагменте кода.
Member 13050667
Извините, я новичок. Вот и все, что я вижу.:
https://pasteboard.co/IaJlqgr.png
Если это не то, что вы хотите, пожалуйста, перефразируйте.
Richard MacCutchan
Если вы не понимаете код, который вы написали, это немного трудно предложить много советов. Однако маленький треугольник слева от этой строки в отладчике предполагает, что вы можете развернуть эту строку, чтобы точно увидеть содержимое переменной.
Member 13050667
Я понимаю свой код, но не знаю, как обрабатывать эти атрибуты с помощью пространства имен перед ними.
Я видел, что могу расширить это поле, но не нашел ничего полезного:
https://pasteboard.co/IaJJxm2.png
Richard MacCutchan
Извините, но единственное, что я могу предложить, - это посмотреть документацию для XML-классов, которые вы пытаетесь использовать.