Захват всех точек, окруженных определенными xml метками - PullRequest
0 голосов
/ 15 января 2020

У меня есть XML данные, которые мне нужно переформатировать, поскольку они дают мне часы с точками, и я хочу заменить эти точки на: вместо. Но я хочу сделать это только из «FromTime» в «/ ToTime», так как это может быть точки в других местах в xml, которые действительны.

<PresenceData>
    <Presence>
        <Date>2020-01-19</Date>
        <FromTime>15.00.00</FromTime>
        <ToTime>22.15.00</ToTime>
        <Description>Sunny day.</Description>
    </Presence>
    <Presence>
        <Date>2020-01-28</Date>
        <FromTime>15.00.00</FromTime>
        <ToTime>22.15.00</ToTime>
        <Description>bla bla bla.. bla.</Description>
    </Presence>
</PresenceData>

Это регулярное выражение для go здесь

1 Ответ

0 голосов
/ 15 января 2020

Вы можете использовать XmlDocument. Получите значение этого узла и замените . на :.

var xmlDoc = new XmlDocument();
var projectPath = "Path to your xml file";
xmlDoc.Load(projectPath);

var fromNode = xmlDoc.SelectSingleNode("//Presence/FromTime");
if (fromNode != null && !string.IsNullOrEmpty(fromNode.InnerText))
{
    fromNode.InnerText = fromNode.InnerText.Replace(".", ":");
}

var toNode = xmlDoc.SelectSingleNode("//Presence/ToTime");
if (toNode != null && !string.IsNullOrEmpty(toNode.InnerText))
{
    toNode.InnerText = toNode.InnerText.Replace(".", ":");
}

xmlDoc.Save(projectPath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...